Завдання дійсно проста: задавши число, ви розділите його цифри на масив менших чисел таким чином, що отримані числа не зменшуються. Проблема полягає в тому, що ви повинні розділити його таким чином, щоб довжина масиву була максимальною.
Плутати?
- Вам надається додатне ціле число через STDIN (або найближчу альтернативу), аргумент командного рядка або аргумент функції в будь-якому зручному, однозначному форматі введення.
- Ви повинні розділити десяткові цифри числа на суміжні, нероздільні групи.
- Масив чисел, представлений цими розрядними групами, слід сортувати (у звичайному, не зменшуваному порядку) без перестановки груп .
- У випадках, коли існує більше одного такого розділу, ви повинні розділити вхід на якомога більше номерів. У випадку зв’язків поверніть один такий результат.
- Ви можете вивести масив в STDOUT (або найближчу альтернативу) або як повернене значення функції. У випадку STDOUT (або найближчої альтернативи) масив повинен бути надрукований у будь-якому зручному, однозначному форматі списку.
- Розділені числа не повинні мати провідних нулів. Так, наприклад,
1002003
не може бути надруковано як[1, 002, 003]
або,[1, 2, 3]
і є єдиною вірною відповіддю на це[100, 2003]
.
Тестові приклади:
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]
Оцінка балів
Це код-гольф, тому найкоротший код в байтах виграє.
aY
замість~Y]