Wyzwanie jest naprawdę proste: biorąc pod uwagę liczbę, dzielisz jej cyfry na tablicę mniejszych liczb, dzięki czemu liczby wynikowe nie maleją. Problem polega na tym, że musisz go podzielić tak, aby długość tablicy była maksymalna.
Zmieszany?
- Otrzymujesz dodatnią liczbę całkowitą za pośrednictwem STDIN (lub najbliższej alternatywy), argumentu wiersza poleceń lub argumentu funkcji w dowolnym dogodnym, jednoznacznym formacie wejściowym.
- Musisz podzielić cyfry dziesiętne na ciągłe, rozłączne grupy.
- Tablica liczb reprezentowana przez te grupy cyfr powinna być sortowana (w zwykłej, nie malejącej kolejności) bez zmiany kolejności grup .
- W przypadkach, gdy istnieje więcej niż jedna taka partycja, musisz podzielić dane wejściowe na możliwie jak najwięcej liczb. W przypadku remisów zwróć jeden taki wynik.
- Możesz wyprowadzić tablicę do STDOUT (lub najbliższej alternatywy) lub jako wartość zwracaną przez funkcję. W przypadku STDOUT (lub najbliższej alternatywy) tablica powinna być wydrukowana w dowolnym wygodnym, jednoznacznym formacie listy.
- Liczby podzielone nie powinny mieć wiodących zer. Tak na przykład
1002003
nie mogą być drukowane jako albo[1, 002, 003]
czy[1, 2, 3]
i ważna tylko odpowiedź na to[100, 2003]
.
Przypadki testowe:
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]
Punktacja
To jest golf golfowy, więc wygrywa najkrótszy kod w bajtach.
aY
zamiast~Y]