Grupos de anagramas
Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 54 de 56.
Desafío
IntermedioDos palabras son anagramas si sus letras ordenadas coinciden: listen y silent se ordenan ambas como eilnst.
Lee una sola línea de entrada: una lista de palabras separadas por comas (en minúsculas, sin espacios en blanco dentro de las palabras).
Agrupa las palabras por su signature (firma) de letras ordenadas. Imprime, en este orden:
- Una línea por grupo con dos o más palabras, en el formato
<signature>: <word1>,<word2>,.... Dentro de un grupo, mantén las palabras en el orden de entrada. Ordena los grupos alfabéticamente por su signature. Total groups: <n>(conteo de grupos con dos o más palabras).
Para la entrada listen,silent,abc,enlist,cab,xyz, la salida es:
abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2Pruébalo tú mismo
let words = readLine()!.components(separatedBy: ",")
// TODO: construir [signature: [word]]; imprimir grupos ordenados con tamaño >= 2;
// luego imprimir 'Total groups: <n>'
Todas las lecciones de Lógica y Flujo
1Strings a fondo
Conteo e índicesMayúsculas, minúsculas y TrimBúsqueda en StringsDividir y unirReemplazo de subcadenasResumen: Validación de usuario4Conjuntos
Crear conjuntosUnión e intersecciónResta y diferencia simétricaSubconjunto y superconjuntoResumen - Filtro de etiquetas7Proyecto - Seguimiento de hábitos
Descripción general del proyectoMarcar como completado10Proyecto - Motor de cuestionarios
Descripción general del proyectoHacer preguntas2Rangos e Intervalos
Cerrados vs. SemiabiertosSaltos (Stride)Métodos de RangosRangos en SwitchResumen - Cuadrícula de calendario5Funciones de orden superior Pt. 1
MapFilterReduceEncadenar map, filter, reduceResumen - Estadísticas de palabras