Беручи під увагу вхідні рядок, вихідний , що рядок з усіма голосні a
, e
, i
, o
і u
вивантажено у випадковому порядку один між одним.
Наприклад, в рядку this is a test
, є 4 голосних: [i, i, a, e]
. Тому дійсне зміщення цих голосних може призвести [a, i, e, i]
до отримання результату thas is e tist
.
Про перетасування
Усі мішані перешкоди мають однакову ймовірність, якщо вважати однаковими голосні голоси . У наведеному вище прикладі можливі ці 24 перетасування:
[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 ]
Кожна з них повинна бути однаково можливою.
Ви не можете спробувати випадкові перетасування цілого рядка, поки не знайдете туди, де всі голосні звуки знаходяться в потрібному місці. Коротше кажучи, час роботи коду має бути постійним, якщо введення постійне.
Входи та виходи
Ви можете припустити, що всі букви у введенні будуть малі або великі. Ви також можете підтримувати змішаний корпус, хоча це не дає вам жодного бонусу.
Вхід завжди буде складатися з друкованих символів ASCII. Усі символи, що знаходяться на вході, повинні бути у висновку, лише голосні звуки повинні бути переміщені навколо, і нічого іншого.
Вхід може бути порожнім. Немає гарантії, що вхід буде містити принаймні один голосний або хоча б один неголосний.
Ви можете взяти дані
STDIN
як параметр функції або щось подібне.Ви можете надрукувати вихід
STDOUT
, повернути його з функції чи чогось подібного.
Тестові справи
Перший рядок - це даний вхід. Другий рядок - один з можливих результатів.
<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
Оцінка балів
Це кодовий гольф , який надає бай-шот .
y
голосним, але останній виклик, де я сказав, що y
був голосним, мене запитали, чому я вибрав це!
y
як голосних ..;)