Étant donné l'entrée d'une liste de nombres au format d'une séquence entière augmentant sténographiquement, sortez la séquence en entier.
Le format de séquence entière augmentant le raccourci fonctionne en trouvant chaque nombre n avec moins de chiffres que le nombre le précédant, m . Avec d comme nombre de chiffres dans n , les derniers d chiffres de m sont remplacés par tous les chiffres de n . Voici un exemple d'entrée:
123 45 6 7 89 200
En appliquant la règle de remplacement, nous transformons d'abord 45 en 145 car 45 <123:
123 145 6 7 89 200
En appliquant à plusieurs reprises la même règle, cela devient:
123 145 146 7 89 200
123 145 146 147 89 200
123 145 146 147 189 200
La séquence est maintenant triée (il n'y a pas de nombres auxquels la règle s'applique), c'est donc la sortie finale.
Vous pouvez supposer que
la notation abrégée est toujours utilisée lorsque cela est possible. Par exemple, l'entrée sera
12 3, jamais12 13.les nombres ne diminueront jamais tout en restant le même nombre de chiffres. Par exemple, l'entrée ne le sera jamais
333 222.l'application de la règle de raccourci n'aboutira jamais à un nombre qui est toujours inférieur au nombre précédent de la séquence. Par exemple, l'entrée ne le sera jamais
123 12.les nombres seront toujours des entiers positifs et ne contiendront jamais de 0 en tête (si vous utilisez un format de chaîne).
la séquence complète et développée ne contiendra jamais de numéros en double. (Cependant, la séquence raccourcie pourrait; ex.
10 1 20 1->10 11 20 21.)il y aura au moins un nombre dans l'entrée.
L'entrée et la sortie peuvent être soit des listes / tableaux de nombres / chaînes, soit une seule chaîne avec des éléments séparés par des non-chiffres.
Puisqu'il s'agit de code-golf , le code le plus court en octets gagnera.
Cas de test, avec entrée et sortie sur lignes alternées:
1 2 3 10 1 2 20 5 100 200 10 3 5 26 9 99 999 9999
1 2 3 10 11 12 20 25 100 200 210 213 215 226 229 299 999 9999
223 1184 334 441 5 927 2073 589 3022 82 390 5 9
223 1184 1334 1441 1445 1927 2073 2589 3022 3082 3390 3395 3399
5 10 5 20 5 30 5 40 5 50 5
5 10 15 20 25 30 35 40 45 50 55
7 8 9 70 80 90 700 800 900 7000 8000 9000
7 8 9 70 80 90 700 800 900 7000 8000 9000
42
42