ในความท้าทายนี้งานของคุณคือการสร้างโปรแกรมที่ใช้ในอาร์เรย์ซ้อนกันและส่งกลับอาร์เรย์แบบแบนมิติเดียว ตัวอย่างเช่นการส่งออกควร
[10,20,[30,[40]],50]
[10,20,30,40,50]
อินพุต
อินพุตจะเป็นอาร์เรย์ซ้อนกัน (เช่น[10,20,[[[10]]]]
) มันจะมีจำนวนเต็มเท่านั้น (ทั้งลบและบวก) สตริงและอาร์เรย์ คุณสามารถรับอินพุตเป็นอาร์กิวเมนต์ฟังก์ชัน STDIN หรืออะไรก็ได้ที่เหมาะกับภาษาของคุณ คุณสามารถสันนิษฐานได้ว่าอาร์เรย์อินพุตจะไม่มีอาร์เรย์ว่างเปล่า
เอาท์พุต
เอาต์พุตจะเป็นอาเรย์แบบมิติเดียวที่มีองค์ประกอบเดียวกับชนิดเดียวกันในอาร์เรย์ที่ซ้อนกันและในลำดับเดียวกัน
กรณีทดสอบ
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
รู้สึกฟรีเพื่อขอคำชี้แจงใด ๆ โดยใช้ความคิดเห็น นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ!
หมายเหตุ: หากภาษาของคุณมีอยู่ในตัวสำหรับสิ่งนี้คุณจะต้องไม่ใช้มัน
แก้ไข
โปรดระบุลิงก์ไปยังเว็บไซต์ที่สามารถใช้รหัสของคุณได้
unflatten
คำถาม แต่ไม่มีflatten
คำถามเกี่ยวกับ PPCG
["[",[["[",],'[',"['['"]]
เป็นกรณีทดสอบ
'
และ"
ตัวคั่นเท่านั้น ( แต่ผมยอมรับว่ากรณีทดสอบที่เกี่ยวข้องกับ[
, ]
, "
และ\
ภายในสตริงจะเป็นประโยชน์.)