Dada una lista ordenada de cadenas de letras del mismo caso (az XOR AZ) donde cada cadena está precedida por 0 o más caracteres de espacio (), genera la misma lista pero con las cadenas ordenadas en cada nivel de sangría. Las profundidades de sangría bajo diferentes padres cuentan como listas distintas para fines de clasificación.
Ejemplo
Si su entrada es:
bdellium
fox
hound
alien
aisle
wasabi
elf
alien
horseradish
xeno
irk
wren
tsunami
djinn
zebra
su salida debe ser
aisle
horseradish
xeno
wasabi
alien
elf
bdellium
alien
fox
hound
djinn
zebra
irk
tsunami
wren
Si lo desea, piense en él como un listado de directorio, y necesita ordenar los nombres dentro de cada directorio.
Minucias
- Un elemento puede estar sangrado por cualquier número de espacios. Si está sangrado por el mismo número de espacios que el elemento anterior, pertenece a la misma jerarquía de clasificación que el elemento anterior. Si está sangrado por más espacios, es el comienzo de una nueva sub-jerarquía.
- Si una línea está sangrada por menos espacios que la línea que está sobre ella, se vincula al subgrupo más cercano sobre ella con el mismo # o menos espacios antes (como el rábano picante en el ejemplo anterior, que enlaza con el grupo wasabi sobre él porque wasabi es el primer elemento sobre él que no tiene más espacios que el rábano picante)
- Debe conservar el nivel de sangría de cada elemento de entrada en su salida
- Las pestañas en la salida no están permitidas
- La primera línea de la entrada nunca se sangrará
- Su programa debe manejar al menos una de las cadenas en mayúsculas y minúsculas; no tiene que manejar ambos.
Tanteo
Este es un código de golf , por lo que gana la respuesta que usa la menor cantidad de bytes.
['a','..b', '.c', '..d']
, ¿cuál debería ser la salida? ['a','..b', '.c', '..d']
o ['a','.c','..b', '..d']
o alguna otra cosa? (Estoy usando en '.'
lugar de espacio para claridad visual).