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 😉