Inspiré par cette question SO
En entrée, vous recevrez une liste d'entiers non vide, dans laquelle la première valeur est garantie différente de zéro. Pour construire la sortie, parcourez le début de la liste en indiquant chaque valeur différente de zéro. Lorsque vous rencontrez un zéro, répétez la valeur que vous avez récemment ajoutée à la sortie.
Vous pouvez écrire un programme ou une fonction et faire en sorte que les entrées / sorties prennent tout format approprié qui ne code pas d’informations supplémentaires, tant qu’il s’agit toujours d’une séquence ordonnée d’entiers. Si vous sortez d'un programme, vous pouvez imprimer une nouvelle ligne. Excepté cette fin de ligne, votre sortie doit être une entrée acceptable pour votre soumission.
Le code le plus court en octets gagne.
Cas de 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
n'est pas un entier valide en entrée Pyth, donc isaac n'a pas à en tenir compte. D'autres réponses peuvent accepter une entrée comme celle-ci si elles le souhaitent, du moment qu'elles sont cohérentes (la réponse d'