チャレンジ
この質問のタスクは、整数の入力配列を、その配列内のすべての整数の2回目の出現で分割することです。
十分に明確ではない?ここに役立つ例があります
入力配列:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5]
出力:
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
説明:
これは、2番目の要素だけが太字で強調表示されている配列です。
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5 ]
次に、これらの太字の2番目のオカレンスの周りに分割配列ブロックを配置します。
[2 1] 1 [] 2 [3 2 2 4 5 6 7] 3 [] 7 [0] 5 []
そして、これらの分割された配列を配列にラップして、最終的な
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
隣接する2番目のオカレンスが発生すると、空の配列が存在することに注意してください。
ルール
いつものように、STDIN、ARGV、または関数引数を介して入力配列を取る完全なプログラムまたは関数を作成する必要があります。
入力
入力は、整数の便利な配列(または配列のような)形式で構成されます。
たとえば、次のいずれかが受け入れられます。
2 1 1 1 4 5 6
[2 1 1 1 4 5 6]
[2, 1, 1, 1, 4, 5, 6]
出力
STDOUTに出力する場合、配列は便利な(ネストされた)配列形式で印刷することもできます。
[[2 1] [1 4 5 6]]
[[2, 1], [1, 4, 5, 6]]
{{2, 1}, {1, 4, 5, 6}}
(これは通常、言語の配列のネイティブ文字列表現になります。)
また、末尾の空の配列は配列の一部として出力されることに注意してください。
得点
これはコードゴルフなので、バイト単位の最短コードが勝ちです!
""空の配列として許可する意味は何ですか?これは、特定のゴルフ言語に対する好意の匂いがします。
2 1, 1 4 5 6ですか?