Zainspirowany tym pytaniem SO
Jako dane wejściowe otrzymasz niepustą listę liczb całkowitych, gdzie pierwsza wartość jest niezerowa. Aby skonstruować dane wyjściowe, przejdź od początku listy, wypisując po drodze każdą niezerową wartość. Gdy napotkasz zero, powtórz wartość dodaną ostatnio do wyniku.
Możesz napisać program lub funkcję i mieć wejście / wyjście w dowolnym dogodnym formacie, który nie koduje dodatkowych informacji, o ile nadal jest uporządkowaną sekwencją liczb całkowitych. W przypadku wypisywania z programu możesz wydrukować końcowy znak nowej linii. Poza tym końcowym znakiem nowej linii, dane wyjściowe powinny stanowić akceptowalny wkład do przesłania.
Najkrótszy kod w bajtach wygrywa.
Przypadki testowe
[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
nie jest prawidłową liczbą całkowitą w danych wejściowych Pyth, więc isaac nie musi tego uwzględniać. Inne odpowiedzi mogą zaakceptować takie dane wejściowe, jeśli chcą, pod warunkiem, że są spójne (np. W jaki sposób odpowiedź