Thử thách thực sự rất đơn giản: được cung cấp một số, bạn chia các chữ số của nó thành một mảng gồm các số nhỏ hơn sao cho các số kết quả không giảm. Điều hấp dẫn là bạn phải chia nó sao cho độ dài mảng là tối đa.
Bối rối?
- Bạn được cung cấp một số nguyên dương thông qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm trong bất kỳ định dạng đầu vào thuận tiện, rõ ràng nào.
- Bạn phải phân vùng các chữ số thập phân của số thành các nhóm liền kề nhau, rời rạc.
- Mảng số được biểu thị bởi các nhóm chữ số này phải được sắp xếp (theo thứ tự thông thường, không giảm) mà không sắp xếp lại các nhóm .
- Trong trường hợp có nhiều phân vùng như vậy tồn tại, bạn phải phân vùng đầu vào thành càng nhiều số càng tốt. Trong trường hợp quan hệ, trả lại một kết quả như vậy.
- Bạn có thể xuất mảng thành STDOUT (hoặc thay thế gần nhất) hoặc dưới dạng giá trị trả về của hàm. Trong trường hợp STDOUT (hoặc thay thế gần nhất), mảng phải được in ở bất kỳ định dạng danh sách thuận tiện, rõ ràng nào.
- Các số chia không nên có số 0 đứng đầu. Vì vậy, ví dụ
1002003
không thể được in dưới dạng[1, 002, 003]
hoặc[1, 2, 3]
và câu trả lời hợp lệ duy nhất cho nó là[100, 2003]
.
Các trường hợp thử nghiệm:
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]
Chấm điểm
Đây là mã golf để mã ngắn nhất tính theo byte thắng.
aY
thay vì~Y]