Groupes d'anagrammes
Fait partie de la section Logique et Flux du Journey Swift de Coddy — leçon 54 sur 56.
Défi
MoyenDeux mots sont des anagrammes si leurs lettres triées correspondent : listen et silent se trient tous deux en eilnst.
Lisez une seule ligne d'entrée : une liste de mots séparés par des virgules (en minuscules, sans espace à l'intérieur des mots).
Groupez les mots par leur signature de lettres triées. Affichez, dans cet ordre :
- Une ligne par groupe contenant deux mots ou plus, au format
<signature>: <word1>,<word2>,.... Au sein d'un groupe, conservez les mots dans l'ordre d'entrée. Triez les groupes par ordre alphabétique de signature. Total groups: <n>(nombre de groupes contenant deux mots ou plus).
Pour l'entrée listen,silent,abc,enlist,cab,xyz, la sortie est :
abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2Essayez vous-même
let words = readLine()!.components(separatedBy: ",")
// À FAIRE : construire [signature : [mot]] ; afficher les groupes triés de taille >= 2 ;
// puis afficher 'Total groups: <n>'
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de mots