กำหนดรายการที่เรียงลำดับของสตริงตัวอักษรตัวพิมพ์เล็ก (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']
สิ่งอื่น ๆ ? (ฉันใช้'.'
แทนพื้นที่เพื่อความชัดเจนของภาพ)