Bei einem gegebenen Eingangskette, Ausgabe , die Zeichenfolge mit allen Vokalen a
, e
, i
, o
und nach u
dem Zufallsprinzip zwischen miteinander vertauscht.
Zum Beispiel in der Zeichenfolge this is a test
gibt es 4 Vokale: [i, i, a, e]
. Ein gültiges Mischen dieser Vokale könnte [a, i, e, i]
daher die Ausgabe ergeben thas is e tist
.
Über das Mischen
Alle Vermischungen sind gleich wahrscheinlich, wenn wir gleiche Vokale als verschieden betrachten . Für das obige Beispiel sind diese 24 Mischen möglich:
[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 ]
Jeder sollte gleich wahrscheinlich sein.
Sie können keine zufällige Mischung der gesamten Zeichenfolge versuchen, bis Sie eine gefunden haben, bei der sich alle Vokale an der richtigen Stelle befinden. Kurz gesagt, die Laufzeit Ihres Codes muss konstant sein, wenn die Eingabe konstant ist.
Eingänge und Ausgänge
Sie können davon ausgehen, dass alle Buchstaben in der Eingabe Klein- oder Großbuchstaben sind. Sie können auch gemischte Gehäuse unterstützen, obwohl dies keinen Bonus gibt.
Die Eingabe besteht immer aus druckbaren ASCII-Zeichen. Alle Zeichen, die in der Eingabe sind, müssen in der Ausgabe sein, nur die Vokale müssen gemischt werden und sonst nichts.
Die Eingabe kann leer sein. Es gibt keine Garantie dafür, dass die Eingabe mindestens einen Vokal oder mindestens einen Nicht-Vokal enthält.
Sie können die Eingabe von
STDIN
, als Funktionsparameter oder etwas Ähnliches nehmen.Sie können die Ausgabe an drucken
STDOUT
, von einer Funktion zurückgeben oder etwas Ähnliches.
Testfälle
Die erste Zeile ist die angegebene Eingabe. Die zweite Zeile ist eine der möglichen Ausgaben.
<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
Wertung
Das ist Code-Golf , das hat der Shirtist en bytes gewonnen .
y
, ein Vokal zu sein, aber die letzte Herausforderung, bei der ich sagte, es y
sei ein Vokal, wurde ich gefragt, warum ich das gewählt habe!
y
als Vokal ..;)