Tantangan
Anda tugas untuk pertanyaan ini adalah untuk membagi input array integer pada kemunculan kedua setiap integer dalam array itu.
Tidak cukup jelas? Ini adalah contoh untuk membantu
Array input:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5]
Keluaran:
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
Penjelasan:
Berikut ini array dengan elemen kedua yang disorot dalam huruf tebal:
[2 1 1 2 3 2 2 4 5 6 7 3 7 0 5 ]
Sekarang kita menempatkan blok array pemisah di sekitar kejadian kedua yang tebal ini:
[2 1] 1 [] 2 [3 2 2 4 5 6 7] 3 [] 7 [0] 5 []
dan bungkus array yang terpecah ini dalam array untuk mendapatkan final
[[2 1] [] [3 2 2 4 5 6 7] [] [0] []]
Perhatikan bahwa ketika kejadian kedua yang berdekatan terjadi, akan ada array kosong.
Aturan
Seperti biasa, Anda harus menulis program lengkap atau fungsi yang mengambil array input melalui STDIN, ARGV atau argumen fungsi.
Memasukkan
Input terdiri atas format bilangan bulat array yang nyaman (atau mirip array).
Misalnya, salah satu dari yang berikut ini dapat diterima:
2 1 1 1 4 5 6
[2 1 1 1 4 5 6]
[2, 1, 1, 1, 4, 5, 6]
Keluaran
Saat mengeluarkan ke STDOUT, array Anda juga dapat dicetak dalam format array yang nyaman (bersarang), mis. Salah satunya
[[2 1] [1 4 5 6]]
[[2, 1], [1, 4, 5, 6]]
{{2, 1}, {1, 4, 5, 6}}
(Ini biasanya akan menjadi representasi string asli dari array dalam bahasa Anda.)
Perhatikan juga bahwa trailing array kosong harus dicetak sebagai bagian dari array.
Mencetak gol
Ini adalah kode-golf sehingga kode terpendek dalam byte menang!
""
sebagai array kosong? Ini berbau favorit menuju bahasa golf tertentu.
2 1, 1 4 5 6
?