З огляду на впорядкований список рядків рядків з великим регістром (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
Якщо вам подобається, подумайте про це як перелік каталогів, і вам потрібно сортувати імена в кожному каталозі.
Хвилини
- Елемент може бути відступним на будь-яку кількість пробілів. Якщо він відступає тією ж кількістю пробілів, що і попередній елемент, він належить до тієї ж ієрархії сортування, що і попередній елемент. Якщо його відрізають більше пробілів, це початок нової підієрархії.
- Якщо рядок з відступом менше пробілів, ніж лінія над ним, вона посилається на найближчу підгрупу над нею з тим самим # або меншою кількістю пробілів перед нею (як хрін у наведеному вище прикладі, який посилається на групу васабі над нею, оскільки wasabi - перший пункт над ним, щоб не було більше місця, ніж хрін)
- Ви повинні зберегти рівень відступу кожного елемента вводу у вашому висновку
- Вкладки у висновку заборонені
- Перший рядок вводу ніколи не буде відступним
- Ваша програма повинна обробляти щонайменше одну з верхніх та малих рядків; він не повинен обробляти обидва.
Оцінка балів
Це кодовий гольф , тому відповідь, в якій використовується найменше байт, виграє.
['a','..b', '.c', '..d']
, яким повинен бути вихід? ['a','..b', '.c', '..d']
чи ['a','.c','..b', '..d']
чи якась інша річ? (Я використовую '.'
замість місця для наочної наочності).