Étant donné un tableau éventuellement imbriqué et non vide d'entiers positifs à un chiffre (non garanti unique), affichez la représentation ASCII sous forme d'arbre, en utilisant les caractères de dessin de boîte ┌ ┴ ┐ ─ │ ┬ ┼
. (Celles-ci ont été copiées à partir de la page de code 437, mais vous pouvez utiliser n'importe quelle représentation équivalente).
Chaque entier du tableau doit être une feuille de l'arbre. Les éléments situés au même niveau profondément dans le tableau doivent être présents au même niveau de l'arborescence. Tous les éléments doivent être séparés par suffisamment d'espaces pour être distincts (à vous de déterminer la largeur, au moins un espace entre les deux).
Par exemple, pour un tableau donné [[1, [2]], [3, [4, 5]]]
, affichez l'arborescence suivante
┌─┴─┐
┌┴┐ ┌┴─┐
1 │ 3 ┌┴┐
2 4 5
Pour le tableau, [1, 2, 3]
l'arbre pourrait ressembler à
┌─┼─┐
1 2 3
Mais le tableau [[1, 2, 3]]
ressemblerait
│
┌─┼─┐
1 2 3
Bien que le tableau [1, [1, [1, [1]]]]
puisse ressembler
┌─┴┐
1 ┌┴─┐
1 ┌┴┐
1 │
1
À titre d’exemple plus complexe, [1, [[[2, 3], 4], 5]]
pourrait être
┌┴───┐
1 ┌─┴┐
┌─┴┐ 5
┌┴┐ 4
2 3
ou plusieurs autres variantes.
- L'entrée et la sortie peuvent être fournies par n'importe quelle méthode pratique .
- Vous pouvez l'imprimer sur STDOUT ou le renvoyer en tant que résultat de fonction.
- Un programme complet ou une fonction sont acceptables.
- N'importe quelle quantité d'espace blanc étranger est acceptable, tant que les caractères s'alignent correctement.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
1
est un tableau de 3 éléments: [2,3]
, 4
, et 5
. Mais 4 et 5 ne sont pas adjacents.
[1, [[[2, 3]], [4], 5]]
me ressemble .
[1,[[[2,3],4],5]]
pourrait être un cas de test intéressant car il doit avoir la racine s'étendre artificiellement pour que le sous-arbre droit n'entre pas en collision avec le sous-arbre gauche.