แรงบันดาลใจจากคำถาม SO นี้
ในฐานะที่เป็นอินพุทคุณจะได้รับรายการจำนวนเต็มที่ไม่ว่างเปล่าซึ่งค่าแรกจะรับประกันว่าไม่เป็นศูนย์ ในการสร้างผลลัพธ์ให้เดินจากจุดเริ่มต้นของรายการแล้วส่งออกแต่ละค่าที่ไม่เป็นศูนย์ไปพร้อมกัน เมื่อคุณพบค่าศูนย์ให้ทำซ้ำค่าที่คุณเพิ่งเพิ่มเข้าไปในเอาต์พุตแทน
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและให้อินพุต / เอาท์พุตมีรูปแบบที่สะดวกซึ่งไม่ได้เข้ารหัสข้อมูลเพิ่มเติมตราบใดที่ยังคงเป็นลำดับของจำนวนเต็ม หากการส่งออกจากโปรแกรมคุณอาจพิมพ์บรรทัดใหม่ต่อท้าย ยกเว้นบรรทัดใหม่ต่อท้ายนี้ผลลัพธ์ของคุณควรเป็นอินพุตที่ยอมรับได้สำหรับการส่งของคุณ
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
[1, 0, 2, 0, 7, 7, 7, 0, 5, 0, 0, 0, 9] -> [1, 1, 2, 2, 7, 7, 7, 7, 5, 5, 5, 5, 9]
[1, 0, 0, 0, 0, 0] -> [1, 1, 1, 1, 1, 1]
[-1, 0, 5, 0, 0, -7] -> [-1, -1, 5, 5, 5, -7]
[23, 0, 0, -42, 0, 0, 0] -> [23, 23, 23, -42, -42, -42, -42]
[1, 2, 3, 4] -> [1, 2, 3, 4]
[-1234] -> [-1234]
[0,0]
อย่างไร
01
ไม่ใช่จำนวนเต็มที่ถูกต้องในการป้อนข้อมูลPyth ดังนั้น isaac ไม่จำเป็นต้องมีบัญชี คำตอบอื่น ๆ สามารถยอมรับอินพุตเช่นนั้นได้หากพวกเขาต้องการตราบใดที่พวกเขาสอดคล้องกัน (เช่นวิธีที่คำตอบของ isaac จะไม่สร้างรายการนั้นเป็นเอาท์พุท)