Biorąc pod uwagę uporządkowaną listę ciągów liter tej samej wielkości (az XOR AZ), gdzie każdy ciąg jest poprzedzony 0 lub więcej znakami spacji (), wypisuje tę samą listę, ale z ciągami posortowanymi na każdym poziomie wcięcia. Głębokości wcięć dla różnych rodziców liczą się jako odrębne listy do celów sortowania.
Przykład
Jeśli twój wkład to:
bdellium
fox
hound
alien
aisle
wasabi
elf
alien
horseradish
xeno
irk
wren
tsunami
djinn
zebra
twój wynik powinien być
aisle
horseradish
xeno
wasabi
alien
elf
bdellium
alien
fox
hound
djinn
zebra
irk
tsunami
wren
Jeśli chcesz, pomyśl o tym jak o liście katalogów i musisz posortować nazwy w każdym katalogu.
Drobne szczegóły
- Element może być wcięty przez dowolną liczbę spacji. Jeśli jest wcięty tą samą liczbą spacji co poprzedni element, należy do tej samej hierarchii sortowania co poprzedni element. Jeśli jest wcięty przez więcej spacji, jest to początek nowej podhierarchii.
- Jeśli linia jest wcięta przez mniejszą liczbę spacji niż linia nad nią, łączy się z najbliższą podgrupą nad nią z tym samym # lub mniejszymi spacjami przed nią (jak chrzan w powyższym przykładzie, który łączy się z grupą wasabi nad nią, ponieważ wasabi to pierwszy przedmiot powyżej, który nie ma więcej miejsca niż chrzan)
- Musisz zachować poziom wcięcia każdego elementu wejściowego na wyjściu
- Karty wyjściowe są niedozwolone
- Pierwszy wiersz danych wejściowych nigdy nie będzie wcięty
- Twój program musi obsługiwać co najmniej jeden ciąg wszystkich wielkich i małych liter; nie musi obsługiwać obu.
Punktacja
To jest golf golfowy , więc wygrywa odpowiedź wykorzystująca najmniej bajtów.
['a','..b', '.c', '..d']
, jakie powinno być wyjście? ['a','..b', '.c', '..d']
lub ['a','.c','..b', '..d']
coś innego? (Używam '.'
zamiast miejsca dla przejrzystości wizualnej).