Все мы знаем о различных причудливых алгоритмах сортировки, но ни один из них не дает нам чисел таким образом, который легко произносить. Чтобы исправить это, я предлагаю использовать PronuationSort ™, наиболее естественный способ сортировки списков чисел.
Произношение
Официальные правила произнесения чисел (в этом вызове) таковы, что цифры произносятся одна за другой, а полученная строка сортируется в лексикографическом порядке. В качестве примера это означает, что число 845
произносится "eight four five"
и должно быть соответственно отсортировано.
Отрицательные числа
Отрицательные числа произносятся путем добавления слова "minus"
. Таким образом, -23
произносится как "minus two three"
. Обратите внимание, что это приводит к тому, что отрицательные числа оказываются в середине вывода, прямо между числами, начинающимися с 4
(четыре) и 9
(девять).
В качестве руководства официальный порядок слов для произношенияSort ™:
- восемь
- 5
- четыре
- минус
- 9
- один
- Семь
- шесть
- три
- два
- нуль
То есть,
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]
Есть также скрипт для проверки ваших результатов .