入力:
入力は、(あなたの言語での)ナッツのランダム化された配列であり、可能なナッツが続きます。プログラムには、整数コードなど、さまざまな種類のナットを表す方法が必要です。プログラムは、ナットのあらゆる構成のあらゆるサイズの配列を処理できる必要があります。
可能なナット:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
出力:
出力は、同じ種類の隣接するナットがないような方法でソートされた配列でなければなりません。これが不可能な場合、出力は空の配列でなければなりません。
入力例(簡略化):
["walnut", "walnut", "pistachio"]
出力例:
["walnut", "pistachio", "walnut"]
ソリューションは、偶然に一意になるまでアレイを単純にシャッフルしない場合があります。採用されるソートは決定論的なものでなければなりません
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2)により、それらも失敗する場合があります。