さまざまな派手な並べ替えアルゴリズムを知っていますが、これらのどれも発音しやすい方法で数字を提供しません。これを改善するために、私は発音リストを並べ替える最も自然な方法である発音ソート™の使用を提案します。
発音
(このチャレンジで)数字を発音するための公式ルールは、数字が1つずつ発音され、結果の文字列が辞書式順序でソートされるということです。例として、これは番号845
が発音されることを意味し、"eight four five"
それに応じてソートする必要があります。
負の数
負の数は、単語の前に付けて発音し"minus"
ます。したがって、-23
と発音され"minus two three"
ます。これにより、4
(4)と9
(9)で始まる数字の間の負の数が出力の途中で終わることに注意してください。
GuideSoとしての発音並べ順の公式の順序は次のとおりです。
- 8
- 五
- 四
- マイナス
- 九
- 1
- セブン
- 六
- 三
- 二
- ゼロ
あれは、
8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0
入力
範囲の整数のリストで、最大100個の要素が含まれます。文字列のリストとしての入力は許可されていません。ご使用の言語がリストとしての入力をサポートしていない場合、入力を個別の整数として許可することができます。
入力には、無効な数字や0で始まる数字(数字0自体を除く)は含まれません。通常、入力はソートされず、任意の順序で指定できます。
出力
同じ整数、発音Sort™順。数字は、ソートを取得するために発音に変換するだけであり、出力には文字列を含めないでください。
例
例では、中間のステップ(括弧で囲まれた)はガイドとしてのみ機能し、出力の一部ではありません。
[1, 2, 3] -> (['one', 'two', 'three']) -> [1, 3, 2]
[-1, 0, 1, 2] -> (['minus one', 'zero', 'one', 'two']) -> [-1, 1, 2, 0]
[-100, 45, 96] -> (['minus one zero zero', 'four five', 'nine six']) -> [45, -100, 96]
[11, 12, 13, 134, 135] -> (['one one', 'one two', 'one three', 'one three four', 'one three five']) -> [11, 13, 135, 134, 12]