Diberikan daftar terurut dari string huruf yang sama (az XOR AZ) di mana setiap string didahului oleh 0 karakter spasi atau lebih, mengeluarkan daftar yang sama tetapi dengan string yang diurutkan pada setiap tingkat indentasi. Kedalaman indentasi di bawah orang tua yang berbeda dihitung sebagai daftar yang berbeda untuk keperluan penyortiran.
Contoh
Jika input Anda adalah:
bdellium
fox
hound
alien
aisle
wasabi
elf
alien
horseradish
xeno
irk
wren
tsunami
djinn
zebra
output Anda seharusnya
aisle
horseradish
xeno
wasabi
alien
elf
bdellium
alien
fox
hound
djinn
zebra
irk
tsunami
wren
Jika Anda suka, anggap itu seperti daftar direktori, dan Anda perlu mengurutkan nama-nama dalam setiap direktori.
Detel
- Item dapat diindentasi oleh sejumlah spasi. Jika diindentasi dengan jumlah spasi yang sama dengan item sebelumnya, item tersebut termasuk dalam hierarki sortir yang sama dengan item sebelumnya. Jika diindentasi oleh lebih banyak ruang, ini adalah awal dari sub-hierarki baru.
- Jika sebuah garis diindentasi oleh lebih sedikit spasi daripada garis di atasnya, ia menghubungkan ke sub grup terdekat di atasnya dengan # yang sama atau lebih sedikit spasi sebelumnya (seperti lobak pada contoh di atas, yang menghubungkan ke grup wasabi di atasnya karena wasabi adalah item pertama di atasnya yang tidak memiliki lebih banyak ruang daripada lobak)
- Anda harus menjaga level indentasi setiap item input dalam output Anda
- Tab pada output tidak diizinkan
- Baris pertama dari input tidak akan pernah diindentasi
- Program Anda harus menangani setidaknya satu string semua huruf besar dan huruf kecil semua; tidak harus menangani keduanya.
Mencetak gol
Ini adalah kode-golf , jadi jawaban yang menggunakan byte paling sedikit menang.
['a','..b', '.c', '..d']
, apa yang seharusnya menjadi output? ['a','..b', '.c', '..d']
atau ['a','.c','..b', '..d']
atau hal lain? (Saya menggunakan '.'
bukannya ruang untuk kejelasan visual).