Учитывая положительное целое число, мы можем сформировать новое число, которое описывается его цифрами, взятыми попарно (с добавлением начального 0 для чисел с нечетным числом цифр).
Например:
1234 можно прочитать как один 2, три 4 с, так что для 1234 выводится 2444.
643 имеет нечетное число цифр, поэтому добавляется начальный ноль, чтобы сделать его четным. Тогда 0643 можно прочитать как: ноль 6 с, четыре 3 с, следовательно, результат будет 3333.
(Это OEIS A056967 ).
Задача: по массиву натуральных чисел отсортировать их по значению, описанному парой цифр, в порядке возрастания. Порядок не имеет значения между входными числами, которые приводят к одному и тому же значению.
Ввод : массив / список / набор натуральных чисел. Начальные нули на входе не допускаются и вводятся в виде строк / списков цифр / и т. Д. не допускаются - входные данные должны быть настолько близки к целочисленному / числовому типу, насколько ваш язык способен использовать.
Выход : массив, отсортированный вышеупомянутым способом, возвращаемый любым из обычных способов (функция возвращает значение / STDOUT / выкрикивая в пустоту / и т.д.). Вы можете распечатать их по отдельности, вернуть их в виде чисел, строк или списков цифры.
Контрольные примеры
Input
Output
[19, 91, 2345, 2023]
[19, 2023, 2345, 91]
[25257, 725, 91, 5219, 146125, 14620512]
[725, 5219, 14620512, 91, 146125, 25257]
[123130415 3335 91 111111111 528 88]
[528, 111111111, 123130415, 3335, 88, 91]
[1 21 33 4 5]
[1 4 5 21 33]
[3725, 10, 2537, 1, 1225, 2512]
[10, 1, 1225, 2512, 2537, 3725]
[125, 26, 1115, 1024]
[1115, 1024, 125, 26]
(В 4-м тестовом случае 1, 4 и 5 все оцениваются в 0, и поэтому могут быть отсортированы между собой в любом порядке. Аналогично в пятом тестовом случае 10 и 1 оба оценивают в 0, и поэтому могут быть отсортированы в либо заказ.)
(Связанный: Скажите, что вы видите , Один 1, Два 1, Один 2 Один 1
Спасибо Кевину Круйссену за помощь в прояснении вопроса в Песочнице.
strtoi
возвращает целое число - правильно? Если так, то все нормально, это законно, как есть.