Ispirato da questa domanda SO
Come input ti verrà fornito un elenco non vuoto di numeri interi, in cui il primo valore è garantito essere diverso da zero. Per costruire l'output, cammina dall'inizio della lista, producendo ogni valore diverso da zero lungo la strada. Quando si incontra uno zero, ripetere invece il valore aggiunto più di recente all'output.
È possibile scrivere un programma o una funzione e fare in modo che input / output assumano qualsiasi formato utile che non codifichi informazioni aggiuntive, purché sia ancora una sequenza ordinata di numeri interi. Se viene emesso da un programma, è possibile stampare una nuova riga finale. Fatta eccezione per questa nuova riga finale, l'output dovrebbe essere un input accettabile per l'invio.
Vince il codice più breve in byte.
Casi test
[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
non è un numero intero valido nell'input di Pyth, quindi isaac non deve tenerne conto. Altre risposte possono accettare input in questo modo se lo desiderano, purché siano coerenti (come il modo in cui la risposta di