Учитывая упорядоченный список буквенных строк в одном и том же случае (az XOR AZ), где каждой строке предшествует 0 или более пробелов (), выведите тот же список, но со строками, отсортированными на каждом уровне отступа. Глубины отступов для разных родителей считаются отдельными списками для целей сортировки.
пример
Если вы вводите:
bdellium
fox
hound
alien
aisle
wasabi
elf
alien
horseradish
xeno
irk
wren
tsunami
djinn
zebra
ваш вывод должен быть
aisle
horseradish
xeno
wasabi
alien
elf
bdellium
alien
fox
hound
djinn
zebra
irk
tsunami
wren
Если вам нравится, подумайте об этом, как о списке каталогов, и вам нужно отсортировать имена в каждом каталоге.
мелочи
- Элемент может иметь отступ на любое количество пробелов. Если он имеет одинаковое количество пробелов с предыдущим элементом, он принадлежит к той же иерархии сортировки, что и предыдущий элемент. Если он отступает большему количеству пробелов, это начало новой подчиненной иерархии.
- Если строка имеет отступ с меньшим количеством пробелов, чем строка над ней, она соединяется с ближайшей подгруппой над ней с таким же # или меньшим количеством пробелов перед ней (как хрен в приведенном выше примере, который связывается с группой васаби над ней, потому что васаби - первый предмет над ним, который не имеет больше места, чем хрен)
- Вы должны сохранить уровень отступа каждого элемента ввода в вашем выводе
- Вкладки в выводе запрещены
- Первая строка ввода никогда не будет иметь отступ
- Ваша программа должна обрабатывать хотя бы одну строку из всех прописных и строчных букв; это не должно обращаться с обоими.
счет
Это код-гольф , поэтому ответ, который использует наименьшее количество байтов, выигрывает.
['a','..b', '.c', '..d']
, то каким должен быть выход? ['a','..b', '.c', '..d']
или ['a','.c','..b', '..d']
какая-то другая вещь? (Я использую '.'
вместо места для наглядности).