Saltar al contenido

Números escritos como texto

Enunciado

Una app de encuestas guarda cada respuesta como texto: aunque la persona escriba 7, lo que queda guardado es "7".

Escribe una función que reciba una lista de números escritos como texto y regrese una lista nueva con ellos ordenados del más chico al más grande, y ya convertidos a número.

Con "4", "12", "45", "7", "0" y "100" regresas 0, 4, 7, 12, 45 y 100.

Las reglas: un número repetido se queda repetido, no quitas ninguno. Puede haber negativos, escritos con su signo. Si la lista llega vacía, regresas una lista vacía.

Cuidado con ordenar los textos tal cual: comparados como texto, "10" queda antes que "9", porque se comparan carácter por carácter. Conviene convertir antes de ordenar, o decirle a quien ordena con qué criterio comparar.

Ejemplos

  • Las respuestas del formulario

    ["4", "12", "45", "7", "0", "100"] → [0, 4, 7, 12, 45, 100]

  • El 9 y el 10

    ["10", "9", "100", "20"] → [9, 10, 20, 100]

  • Con repetidos

    ["3", "1", "3", "2", "1"] → [1, 1, 2, 3, 3]

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def ordena_numeros(textos):
    pass

JavaScript

function ordenaNumeros(textos) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n log n)

Ver todos los retos →