Натхненний цим питанням 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 ніколи не видасть цей список як вихід)