Compte tenu d' une chaîne d'entrée, la sortie de cette chaîne avec toutes les voyelles a
, e
, i
, o
et u
troqué au hasard entre eux.
Par exemple, dans la chaîne this is a test
, il y a 4 voyelles: [i, i, a, e]
. Un brassage valide de ces voyelles pourrait [a, i, e, i]
donc donner la sortie thas is e tist
.
À propos du mélange
Tous les remaniements seront également probables si nous considérons que les voyelles égales sont distinctes . Pour l'exemple ci-dessus, ces 24 mélanges sont possibles:
[i 1 , i 2 , a, e] [i 1 , i 2 , e, a] [i 1 , a, i 2 , e] [i 1 , a, e, i 2 ] [i 1 , e, i 2 , a] [i 1 , e, a, i 2 ] [i 2 , i 1 , a, e] [i 2 , i 1 , e, a] [i 2 , a, i 1 , e] [i 2 , a, e, i 1 ] [i 2 , e, i 1 , a] [i 2 , e, a, i 1 ] [a, i 1 , i 2 , e] [a, i 1 , e, i 2 ] [a, i 2 , i 1 , e] [a, i 2 , e, i 1 ] [a, e, i 1 , i 2 ] [a, e, i 2 , i 1 ] [e, i 1 , i 2 , a] [e, i 1 , a, i 2 ] [e, i 2 , i 1 , a] [e, i 2 , a, i 1 ] [e, a, i 1 , i 2 ] [e, a, i 2 , i 1 ]
Chacun devrait être tout aussi probable.
Vous ne pouvez pas essayer de mélanger au hasard toute la chaîne avant d'en trouver une où toutes les voyelles sont au bon endroit. En bref, le temps d'exécution de votre code doit être constant si l'entrée est constante.
Entrées et sorties
Vous pouvez supposer que toutes les lettres de l'entrée seront en minuscule ou en majuscule. Vous pouvez également prendre en charge des boîtiers mixtes, bien que cela ne vous donne aucun bonus.
L'entrée consistera toujours en caractères ASCII imprimables. Tous les caractères qui sont dans l'entrée doivent être dans la sortie, seules les voyelles doivent être mélangées et rien d'autre.
L'entrée peut être vide. Rien ne garantit que l'entrée contiendra au moins une voyelle ou au moins une non-voyelle.
Vous pouvez prendre l’entrée from
STDIN
, en tant que paramètre de fonction ou quelque chose de similaire.Vous pouvez imprimer la sortie dans
STDOUT
, la renvoyer depuis une fonction ou quelque chose de similaire.
Cas de test
La première ligne est l'entrée donnée. La deuxième ligne est l’une des sorties possibles.
<empty string>
<empty string>
a
a
cwm
cwm
the quick brown fox jumps over the lazy dog.
tho qeuck brewn fax jumps ovir the lozy dog.
abcdefghijklmnopqrstuvwxyz
abcdefghujklmnipqrstovwxyz
programming puzzles & code golf
pregromming pezzlos & coda gulf
fatalize
fitaleza
martin ender
mirten ander
Notation
C’est le code-golf , mais il faut que ce soit en un rien de temps .
y
une voyelle, mais le dernier défi pour lequel j’ai dit qu’il y
s’agissait d’une voyelle s’est demandé pourquoi j’avais choisi cela!
y
voyelle ..;)