Gruppi di anagrammi
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 54 di 56.
Sfida
MedioDue 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:
- 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. 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: 2Provalo 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
1Le stringhe in dettaglio
Conteggio e indiciMaiuscole, minuscole e rimozione degli spaziRicerca nelle stringheSuddivisione e unioneSostituzione di sottostringheRiepilogo - Verifica del nome utente4Insiemi
Creare insiemiUnione e intersezioneDifferenza e differenza simmetricaSottoinsieme e sovrainsiemeRiepilogo - Filtro per tag7Progetto - Tracciatore di abitudini
Panoramica del progettoSegna come completato10Progetto - Motore di quiz
Panoramica del progettoPorre domande2Intervalli e passi
Intervalli chiusi e semiapertiPassoMetodi degli intervalliIntervalli in switchRiepilogo - Griglia del calendario5Funzioni di ordine superiore Parte 1
MapFilterReduceConcatenare map, filter e reduceRiepilogo - Statistiche sulle paroleEsercitati da solo: Playground Swift