Lấy cảm hứng từ câu hỏi SO này
Là đầu vào, bạn sẽ được cung cấp một danh sách các số nguyên không trống, trong đó giá trị đầu tiên được đảm bảo là khác không. Để xây dựng đầu ra, đi bộ từ đầu danh sách, xuất ra từng giá trị khác không trên đường đi. Khi bạn gặp số 0, thay vào đó hãy lặp lại giá trị bạn đã thêm gần đây nhất vào đầu ra.
Bạn có thể viết chương trình hoặc hàm và yêu cầu đầu vào / đầu ra có bất kỳ định dạng thuận tiện nào không mã hóa thông tin bổ sung, miễn là vẫn là một chuỗi số nguyên theo thứ tự. Nếu xuất ra từ một chương trình, bạn có thể in một dòng mới. Ngoại trừ dòng mới này, đầu ra của bạn phải là đầu vào có thể chấp nhận để gửi.
Mã ngắn nhất tính bằng byte thắng.
Các trường hợp thử nghiệm
[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
không phải là số nguyên hợp lệ trong đầu vào Pyth, vì vậy isaac không phải tính đến điều đó. Các câu trả lời khác có thể chấp nhận đầu vào như vậy nếu họ muốn, miễn là chúng nhất quán (như cách câu trả lời của isaac sẽ không bao giờ tạo ra danh sách đó dưới dạng đầu ra)