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 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 según su 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, conserva las palabras en el orden de entrada. Ordena los grupos alfabéticamente por firma. Total groups: <n>(cantidad 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 palabrasPractica por tu cuenta: Playground de Swift