Menu
Coddy logo textTech

Groupes d'anagrammes

Fait partie de la section Logique et Flux du Journey Swift de Coddy. Leçon 54 sur 56.

challenge icon

Défi

Moyen

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

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

Essayez 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

Entraînez-vous par vous-même : Playground Swift