Dado un número entero positivo, podemos formar un nuevo número que se describe por sus dígitos tomados por pares (con un 0 inicial agregado para números con un número impar de dígitos).
Por ej .:
1234 se puede leer como un 2, tres 4s, por lo que la salida para 1234 es 2444.
643 tiene un número impar de dígitos, por lo que se agrega un cero inicial para que sea par. Entonces, 0643 se puede leer como: cero 6s, cuatro 3s, por lo tanto, la salida sería 3333.
(Esto es OEIS A056967 ).
Tarea: Dada una matriz de enteros positivos, ordénelos por su valor descrito por par de dígitos, en orden ascendente. El orden no importa entre los números de entrada que conducen al mismo valor.
Entrada : una matriz / lista / conjunto de enteros positivos. Los ceros iniciales en la entrada no están permitidos, y la entrada como cadenas / listas de dígitos / etc. no están permitidos: las entradas deben estar tan cerca de un tipo entero / numérico como sea capaz de usar su idioma.
Salida : la matriz ordenada de la manera mencionada anteriormente, devuelta en cualquiera de las formas habituales (valor de retorno de función / STDOUT / gritando al vacío / etc.) Puede imprimirlos individualmente, devolverlos como números, cadenas o listas de dígitos
Casos de prueba
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]
(En el cuarto caso de prueba, 1, 4 y 5 se evalúan a 0, por lo que se pueden clasificar entre sí en cualquier orden. De manera similar en el quinto caso de prueba, 10 y 1 se evalúan a 0, por lo que se pueden ordenar en cualquier orden)
(Relacionado: di lo que ves , uno 1, dos 1, uno 2 uno 1
Gracias a Kevin Cruijssen por ayudarnos a aclarar la pregunta en el Sandbox.
strtoi
devuelve un entero, ¿correcto? Si es así, está bien, es legal como es.