Dato un array possibilmente nidificato e non vuoto di numeri interi positivi a una cifra (non garantito univoco), emette la rappresentazione di arte ASCII come un albero, usando i caratteri del disegno a scatola ┌ ┴ ┐ ─ │ ┬ ┼
. (Questi sono stati copiati dal codice pagina 437, ma è possibile utilizzare qualsiasi rappresentazione equivalente).
Ogni numero intero dell'array dovrebbe essere una foglia dell'albero. Gli elementi allo stesso livello profondo dell'array dovrebbero essere presenti allo stesso livello dell'albero. Tutti gli elementi devono essere separati da uno spazio sufficiente per essere distinti (spetta a te determinare quanto largo, minimo uno spazio tra).
Ad esempio, dato l'array [[1, [2]], [3, [4, 5]]]
, genera il seguente albero
┌─┴─┐
┌┴┐ ┌┴─┐
1 │ 3 ┌┴┐
2 4 5
Per l'array [1, 2, 3]
l'albero potrebbe apparire
┌─┼─┐
1 2 3
Ma l'array [[1, 2, 3]]
sarebbe simile
│
┌─┼─┐
1 2 3
Mentre l'array [1, [1, [1, [1]]]]
potrebbe apparire
┌─┴┐
1 ┌┴─┐
1 ┌┴┐
1 │
1
Come esempio più complicato, [1, [[[2, 3], 4], 5]]
potrebbe essere
┌┴───┐
1 ┌─┴┐
┌─┴┐ 5
┌┴┐ 4
2 3
o diverse altre varianti.
- Input e output possono essere forniti con qualsiasi metodo conveniente .
- È possibile stamparlo su STDOUT o restituirlo come risultato di una funzione.
- È accettabile un programma completo o una funzione.
- Qualsiasi quantità di spazio bianco estraneo è accettabile, purché i personaggi siano allineati in modo appropriato.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
1
è un array di 3 elementi: [2,3]
, 4
e 5
. Ma 4 e 5 non sono adiacenti.
[1, [[[2, 3]], [4], 5]]
.
[1,[[[2,3],4],5]]
potrebbe essere un caso di test interessante poiché deve estendere artificialmente la radice in modo che la sottostruttura destra non entri in collisione con la sottostruttura sinistra.