Menu
Coddy logo textTech

Gruppi di anagrammi

Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 54 di 56.

challenge icon

Sfida

Medio

Due parole sono anagrammi se le loro lettere, ordinate, corrispondono: listen e silent si ordinano entrambe in eilnst.

Leggi una singola riga di input: un elenco di parole separate da virgole (in minuscolo, senza spazi all'interno delle parole).

Raggruppa le parole in base alla loro firma ottenuta ordinando le lettere. Stampa, in quest'ordine:

  1. Una riga per ogni gruppo con due o più parole, nel formato <signature>: <word1>,<word2>,.... All'interno di un gruppo, mantieni le parole nell'ordine di input. Ordina i gruppi alfabeticamente in base alla firma.
  2. Total groups: <n> (numero di gruppi con due o più parole).

Per l'input listen,silent,abc,enlist,cab,xyz, l'output è:

abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2

Provalo tu

let words = readLine()!.components(separatedBy: ",")

// TODO: build [signature: [word]]; print sorted groups with size >= 2;
// then print 'Total groups: <n>'

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift