กำหนดความลึกใด ๆ ให้วาดเนื้อหาด้วยเส้นขอบ+-|
รอบ ๆ แต่ละ subarray สิ่งเหล่านี้คืออักขระ ASCII สำหรับเครื่องหมายบวกลบและแนวตั้ง
ตัวอย่างเช่นถ้าอาร์เรย์คือ[1, 2, 3]
วาด
+-----+
|1 2 3|
+-----+
สำหรับอาร์เรย์ที่ซ้อนกันเช่น[[1, 2, 3], [4, 5], [6, 7, 8]]
วาด
+-----------------+
|+-----+---+-----+|
||1 2 3|4 5|6 7 8||
|+-----+---+-----+|
+-----------------+
สำหรับอาเรย์แบบขาด ๆ เช่น[[[1, 2, 3], [4, 5]], [6, 7, 8]]
วาด
+-------------------+
|+-----------+-----+|
||+-----+---+|6 7 8||
|||1 2 3|4 5|| ||
||+-----+---+| ||
|+-----------+-----+|
+-------------------+
[6, 7, 8]
แจ้งให้ทราบว่ามีพื้นที่ว่างมากขึ้นหลังจากการวาดภาพ คุณสามารถวาดเนื้อหาในบรรทัดบนสุดกึ่งกลางหรือล่างสุด แต่ไม่ว่าคุณจะเลือกแบบไหนคุณจะต้องคงความสอดคล้อง
ความท้าทายนี้ได้แรงบันดาลใจจากกล่องคำกริยา<
จากเจ
กฎระเบียบ
- นี่คือโค้ดกอล์ฟเพื่อให้โค้ดที่สั้นที่สุดชนะ
- ไม่อนุญาตให้สร้างบิวเทนที่แก้ไขปัญหานี้
- อาร์เรย์ที่ป้อนจะมีเฉพาะค่าจำนวนเต็มไม่ใช่ค่าลบหรืออาร์เรย์ แต่ละอาเรย์จะเป็นเนื้อเดียวกันซึ่งหมายความว่าองค์ประกอบของมันจะเป็นเพียงอาร์เรย์หรือจำนวนเต็มเท่านั้น แต่ไม่เคยมีการผสมผสานของทั้งสอง
- แต่ละ subarray อาจซ้อนกันได้ทุกระดับความลึก
- ผลลัพธ์อาจโดยเป็นสตริงหรือเป็นอาร์เรย์ของสตริงโดยที่แต่ละสตริงเป็นบรรทัดของเอาต์พุต
กรณีทดสอบ
[]
++
||
++
[[], []]
+---+
|+++|
|||||
|+++|
+---+
[[], [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|||||+-----+|| | ||
||||+-------+|||+-------+| | ||
|||+---------+|| | | ||
||+-----------+| | | ||
|+-------------+---------+-----+-+|
+---------------------------------+
-1
เนื่องจากฉันยัง จำกัด จำนวนเต็มไม่เป็นลบ จากนั้นจะต้องล้างเอาต์พุตสำหรับค่าที่ไม่ถูกต้องเหล่านั้น