Cette semaine, c'est Damien qui vous propose un #KataOfTheWeek : Anagrammes

Briefing du Kata : Étant donné en input un fichier texte 'dictionary' avec un mot par ligne, ton but est de grouper dans un fichier 'output' les mots par ligne d'anagrammes, séparés par une virgule.

Par exemple, pour le dictionnaire suivant :

dictionary

is
real
lief
sith
this
lear
si
eth
het
hits
file
the
earl
rale
hist
life

Un résultat possible serait :

output

is,si
this,sith,hits,hist
the,eth,het,
real,lear,earl,rale
life,lief,file

Attention, pour la suite, les majuscules et caractères spéciaux suivants ne devraient pas poser de problème ;)

dictionary

Crusty's
crustys
aAäáåâàÅ
aaaaaaaa
cCç
ccc
eEéèëê
eeeeee
iIíîï
iiiii
nNñ
nnn
oOöóôøÖ
ooooooo
uUüûùúÜ
uuuuuuu

output

Crusty's,crustys
aAäáåâàÅ,aaaaaaaa,
cCç,ccc,
eEéèëê,eeeeee
iIíîï,iiiii
nNñ,nnn
oOöóôøÖ,ooooooo
uUüûùúÜ,uuuuuuu

Facile ? Essaye un peu avec ce dictionnaire (attention, le fichier est encodé en ISO88591).

Maintenant, le vrai challenge consiste à optimiser ton algorithme pour avoir le résultat le plus rapide possible.

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉