全ての母音の文字列が入力文字列、出力所与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文字で構成されます。入力にあるすべての文字は出力にあり、母音のみをシャッフルする必要があります。
入力は空にすることができます。入力に少なくとも1つの母音または少なくとも1つの非母音が含まれるという保証はありません。
からの入力を
STDIN
、関数パラメーターなどとして取得できます。出力を
STDOUT
に印刷して、関数から返すか、類似のものを返すことができます。
テストケース
最初の行は、指定された入力です。2行目は、可能な出力の1つです。
<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
得点
これはcode-golf、sa tho shirtist enswer en bytes wonsです。
y
が、母音でもあると思いますが、最後に言っy
た母音は母音でした。
y
母音としてのあなたの欠如。;)