Le défi est vraiment simple: étant donné un nombre, vous divisez ses chiffres en un tableau de plus petits nombres de sorte que les nombres résultants ne diminuent pas. Le hic, c'est que vous devez le diviser de telle sorte que la longueur du tableau soit maximale.
Confus?
- Vous obtenez un entier positif via STDIN (ou l'alternative la plus proche), l'argument de ligne de commande ou l'argument de fonction dans n'importe quel format d'entrée pratique et sans ambiguïté.
- Vous devez partitionner les chiffres décimaux du numéro en groupes contigus et disjoints.
- Le tableau de nombres représenté par ces groupes de chiffres doit être trié (dans l'ordre habituel et non décroissant) sans réorganiser les groupes .
- Dans les cas où plusieurs partitions de ce type existent, vous devez partitionner l'entrée en autant de nombres que possible. En cas d'égalité, renvoyez un de ces résultats.
- Vous pouvez sortir le tableau vers STDOUT (ou l'alternative la plus proche) ou comme valeur de retour de fonction. Dans le cas de STDOUT (ou de l'alternative la plus proche), le tableau doit être imprimé dans n'importe quel format de liste pratique et sans ambiguïté.
- Les nombres séparés ne doivent pas avoir de zéros en tête. Ainsi, par exemple,
1002003
ne peut pas être imprimé comme ou[1, 002, 003]
ou[1, 2, 3]
et la seule réponse valable est[100, 2003]
.
Cas de test:
123456 -> [1, 2, 3, 4, 5, 6]
345823 -> [3, 4, 5, 8, 23]
12345678901234567890 -> [1, 2, 3, 4, 5, 6, 7, 8, 90, 123, 456, 7890]
102 -> [102]
302 -> [302]
324142 -> [3, 24, 142] OR [32, 41, 42]
324142434445 -> [32, 41, 42, 43, 44, 45]
1356531 -> [1, 3, 5, 6, 531]
11121111111 -> [1, 1, 1, 2, 11, 11, 111]
100202003 -> [100, 202003]
Notation
C'est le code-golf donc le code le plus court en octets gagne.
aY
place de~Y]