Menu
Coddy logo textTech

Grupos de anagramas

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 54 de 56.

challenge icon

Desafío

Intermedio

Dos 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:

  1. 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.
  2. 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: 2

Prué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