Saltar al contenido

El número más grande

Enunciado

Te dan una lista de dígitos sueltos, cada uno de 0 a 9, y tienes que acomodarlos para formar el número más grande posible.

Con 4, 5, 6 y 1 la respuesta es 6541: el dígito más grande manda, porque el que quede al frente vale más que todos los demás juntos.

Las reglas: se usan todos los dígitos y ninguno se queda fuera, así que si el 4 viene tres veces, sale tres veces en el resultado. Si la lista viene vacía, regresas 0.

El camino es ordenar: acomoda los dígitos de mayor a menor y pégalos en ese orden. Para pegarlos puedes empezar en 0 y, con cada dígito, multiplicar lo que llevas por 10 y sumarle el dígito.

Ojo con lo último: hay que regresar un número, no un texto.

Ejemplos

  • Tres dígitos

    [1, 2, 3] → 321

  • Cuatro desordenados

    [4, 5, 6, 1] → 6541

  • Con un nueve

    [1, 2, 3, 9] → 9321

  • Un dígito repetido

    [4, 4, 1, 4] → 4441

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

Empiezas con esto

Python

def mayor_numero(digitos):
    pass

JavaScript

function mayorNumero(digitos) {
}
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 →