입력:
입력은 임의의 견과류 (언어로)로 배열되며 가능한 견과류가 따릅니다. 프로그램에는 정수 코드와 같은 각 종류의 너트를 나타내는 방법이 있어야합니다. 프로그램은 너트 구성의 모든 크기 배열을 처리 할 수 있어야합니다.
가능한 너트 :
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)도 실패 할 수 있습니다.