ฉันไม่อยากจะเชื่อเลยว่าเราไม่มีสิ่งนี้อยู่แล้ว .. มันเป็นหนึ่งในโครงสร้างข้อมูลที่สำคัญที่สุดในการเขียนโปรแกรม แต่ก็ยังง่ายพอที่จะนำไปใช้ในcode-golf :
ท้าทาย
งานของคุณคือการใช้สแต็กที่อนุญาตให้มีการกดและ popping ตัวเลขทดสอบการใช้งานและทำให้ I / O ง่ายเราจะใช้การตั้งค่าต่อไปนี้:
- ข้อมูลที่ป้อนจะเป็นรายการจำนวนเต็มที่ไม่เป็นลบ
ทุกจำนวนเต็มบวกบ่งชี้และทุกบ่งชี้ว่า - ทิ้งองค์ประกอบด้านบนpush ( n ) 0 ป๊อป ()
- เอาต์พุตจะเป็นสแต็กที่เกิดขึ้น
ตัวอย่าง
ตัวอย่างเช่นถ้าเราได้รับ :
ผลลัพธ์จะเป็น:
กฎระเบียบ
- อินพุตจะเป็นรายการของจำนวนเต็มไม่เป็นลบในรูปแบบ I / O เริ่มต้นใด ๆ
- คุณอาจใช้จำนวนเต็มลบเพื่อบอกถึงจุดสิ้นสุดของจำนวนเต็ม
- เอาต์พุตจะเป็นรายการ / เมทริกซ์ / .. ของสแต็กที่เกิดขึ้น
- ตัวเลือกของคุณที่องค์ประกอบด้านบนจะเป็น (ที่จุดเริ่มต้นหรือจุดสิ้นสุด) ผลลัพธ์ก็จะต้องสอดคล้องกัน
- การส่งออกมีความยืดหยุ่น (เช่นจำนวนเต็มคั่นด้วยเส้นใหม่จะดี) สิ่งเดียวที่มีความสำคัญคือการสั่งซื้อ
- คุณอาจใช้จำนวนเต็มลบเพื่อระบุด้านล่างของสแต็ก
- คุณรับประกันได้ว่าจะไม่มีเมื่อสแต็กว่างเปล่า
ตัวอย่าง
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]