Saltar al contenido

Las cifras de la esfinge

Enunciado

Donde el camino cruza las dunas, una esfinge de piedra graba un número en la roca y le da al viajero un solo movimiento: cambiar de lugar dos cifras, una vez, o dejar el número como está. Solo pasa quien deja el número más grande posible.

Escribe una función que reciba numero, un texto de cifras (al menos una, sin ceros a la izquierda), y regrese como texto el número más grande que se logra con a lo mucho un intercambio de dos cifras.

Con "2736", cambiar el 2 con el 7 da "7236", y ningún otro cambio da más, así que regresa "7236". Con "1993" hay dos nueves: cambiar el 1 con el primero da "9193", pero con el último da "9913", que es mayor. Si ningún intercambio lo agranda, como en "9973" o "5", regresa el mismo texto que recibió.

Ejemplos

  • El ejemplo

    "2736" → "7236"

  • Ya es el mayor

    "9973" → "9973"

  • Se cambia con el último nueve

    "1993" → "9913"

  • Una sola cifra

    "5" → "5"

  • Dos cifras al revés

    "12" → "21"

  • El mayor está al final

    "876129" → "976128"

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

Empiezas con esto

Python

def mayor_cambio(numero):
    pass

JavaScript

function mayorCambio(numero) {
}
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²)

Ver todos los retos →