Diberikan array kedalaman apa pun, gambarkan isinya dengan batas di +-|sekitar masing-masing subarray. Itu adalah karakter ASCII untuk plus, minus, dan pipa vertikal.
Misalnya, jika arraynya adalah [1, 2, 3], gambar
+-----+
|1 2 3|
+-----+
Untuk array bersarang seperti [[1, 2, 3], [4, 5], [6, 7, 8]], gambar
+-----------------+
|+-----+---+-----+|
||1 2 3|4 5|6 7 8||
|+-----+---+-----+|
+-----------------+
Untuk larik kasar seperti [[[1, 2, 3], [4, 5]], [6, 7, 8]], gambar
+-------------------+
|+-----------+-----+|
||+-----+---+|6 7 8||
|||1 2 3|4 5|| ||
||+-----+---+| ||
|+-----------+-----+|
+-------------------+
Perhatikan bahwa ada lebih banyak ruang setelah menggambar [6, 7, 8]. Anda dapat menggambar konten di baris paling atas, tengah, atau paling bawah, tetapi apa pun yang Anda pilih, Anda harus tetap konsisten.
Tantangan ini terinspirasi oleh kata kerja kotak< dari J.
Aturan
- Ini adalah kode-golf sehingga kode terpendek menang.
- Orang bawaan yang memecahkan masalah ini tidak diizinkan.
- Array input hanya akan berisi nilai integer atau array nonnegatif. Setiap array akan homogen, artinya elemen-elemennya akan hanya dengan array atau hanya integer, tetapi tidak pernah campuran keduanya.
- Setiap subarray dapat disarangkan dengan kedalaman apa pun.
- Output dapat berupa string atau array string di mana setiap string adalah garis output.
Uji Kasus
[]
++
||
++
[[], []]
+---+
|+++|
|||||
|+++|
+---+
[[], [1], [], [2], [], [3], []]
+-----------+
|++-++-++-++|
|||1||2||3|||
|++-++-++-++|
+-----------+
[[[[[0]]]]]
+---------+
|+-------+|
||+-----+||
|||+---+|||
||||+-+||||
|||||0|||||
||||+-+||||
|||+---+|||
||+-----+||
|+-------+|
+---------+
[[[[[4, 3, 2, 1]]]], [[[3, 2, 1]]], [[2, 1]], [1]]
+---------------------------------+
|+-------------+---------+-----+-+|
||+-----------+|+-------+|+---+|1||
|||+---------+|||+-----+|||2 1|| ||
||||+-------+|||||3 2 1|||+---+| ||
|||||4 3 2 1|||||+-----+|| | ||
||||+-------+|||+-------+| | ||
|||+---------+|| | | ||
||+-----------+| | | ||
|+-------------+---------+-----+-+|
+---------------------------------+
-1karena saya juga membatasi integer menjadi non-negatif. Maka hanya perlu membersihkan output untuk nilai-nilai yang tidak valid.