Biorąc pod uwagę tablicę o dowolnej głębokości, narysuj jej zawartość obramowaniami +-|wokół każdej podtablicy. Są to znaki ASCII dla potoku plus, minus i potoku pionowego.
Na przykład, jeśli tablica jest [1, 2, 3], narysuj
+-----+
|1 2 3|
+-----+
W przypadku zagnieżdżonej tablicy, takiej jak [[1, 2, 3], [4, 5], [6, 7, 8]]rysuj
+-----------------+
|+-----+---+-----+|
||1 2 3|4 5|6 7 8||
|+-----+---+-----+|
+-----------------+
W przypadku nierównej tablicy, takiej jak [[[1, 2, 3], [4, 5]], [6, 7, 8]]remis
+-------------------+
|+-----------+-----+|
||+-----+---+|6 7 8||
|||1 2 3|4 5|| ||
||+-----+---+| ||
|+-----------+-----+|
+-------------------+
Zauważ, że po rysowaniu jest więcej miejsca [6, 7, 8]. Możesz narysować zawartość na najwyższej, środkowej lub najniższej linii, ale cokolwiek wybierzesz, musisz zachować spójność.
To wyzwanie zostało zainspirowane czasownikiem pudełkowym< J.
Zasady
- To jest golf golfowy, więc wygrywa najkrótszy kod.
- Wbudowane rozwiązania tego problemu są niedozwolone.
- Tablica wejściowa będzie zawierać tylko nieujemne wartości całkowite lub tablice. Każda tablica będzie jednorodna, co oznacza, że jej elementy będą albo tylko tablicami, albo tylko liczbami całkowitymi, ale nigdy nie będą mieszanką obu.
- Każda podtablica może być zagnieżdżona na dowolnej głębokości.
- Dane wyjściowe mogą być albo jako ciąg, albo jako tablica ciągów, gdzie każdy ciąg jest linią wyjściową.
Przypadki testowe
[]
++
||
++
[[], []]
+---+
|+++|
|||||
|+++|
+---+
[[], [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|||||+-----+|| | ||
||||+-------+|||+-------+| | ||
|||+---------+|| | | ||
||+-----------+| | | ||
|+-------------+---------+-----+-+|
+---------------------------------+
-1Ponieważ ograniczyłem również liczby całkowite, aby nie były ujemne. Następnie musiałbym wyczyścić dane wyjściowe dla tych niepoprawnych wartości.