課題は実に簡単です。数字が与えられたら、その数字を小さな数字の配列に分割し、結果の数字が減少しないようにします。キャッチは、配列の長さが最大になるように分割する必要があるということです。
混乱した?
- STDIN(または最も近い代替)、コマンドライン引数、または便利で明白な入力形式の関数引数を介して正の整数が与えられます。
- 数値の10進数を連続した互いに素なグループに分割する必要があります。
- これらの数字グループで表される数値の配列は、グループを再配置せずに(通常の減少しない順序で)ソートする必要があります。
- そのようなパーティションが複数存在する場合は、入力をできるだけ多くの数にパーティション分割する必要があります。同数の場合、そのような結果を1つ返します。
- 配列を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]