Avec une liste ordonnée de chaînes de lettres de même casse (az XOR AZ) où chaque chaîne est précédée de 0 ou plusieurs caractères space (), affiche la même liste mais avec les chaînes triées à chaque niveau d'indentation. Les profondeurs d'indentation sous différents parents sont considérées comme des listes distinctes à des fins de tri.
Exemple
Si votre contribution est:
bdellium
fox
hound
alien
aisle
wasabi
elf
alien
horseradish
xeno
irk
wren
tsunami
djinn
zebra
votre sortie devrait être
aisle
horseradish
xeno
wasabi
alien
elf
bdellium
alien
fox
hound
djinn
zebra
irk
tsunami
wren
Si vous le souhaitez, considérez-le comme une liste de répertoires et vous devez trier les noms dans chaque répertoire.
Menus détails
- Un élément peut être mis en retrait par un nombre quelconque d'espaces. S'il est mis en retrait par le même nombre d'espaces que l'élément précédent, il appartient à la même hiérarchie de tri que l'élément précédent. S'il est mis en retrait par plus d'espaces, c'est le début d'une nouvelle sous-hiérarchie.
- Si une ligne est mise en retrait par moins d’ espaces que la ligne située au-dessus, elle est reliée au sous-groupe le plus proche situé au-dessus d’elle avec le même # ou moins d’espaces devant elle (comme le raifort dans l’exemple ci-dessus, qui est relié au groupe wasabi situé au-dessus d’elle, car le wasabi est le premier article au-dessus à ne pas avoir plus d’espace que le raifort)
- Vous devez conserver le niveau d'indentation de chaque élément d'entrée dans votre sortie.
- Les onglets dans la sortie sont interdits
- La première ligne de l'entrée ne sera jamais mise en retrait
- Votre programme doit gérer au moins une chaîne parmi les chaînes toutes majuscules et minuscules; il n'a pas à gérer les deux.
Notation
C'est un code-golf , donc la réponse qui utilise le moins d'octets gagne.
['a','..b', '.c', '..d']
, quelle devrait être la sortie? ['a','..b', '.c', '..d']
ou ['a','.c','..b', '..d']
ou quelque chose d'autre? (J'utilise '.'
au lieu de l'espace pour la clarté visuelle).