Las cifras de la esfinge
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- dígitos
- textos
- índices
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):
passJavaScript
function mayorCambio(numero) {
}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²)
- Las fichas del atrilciclos · listas · textos
- Las justas del torneocomparaciones · ciclos · listas
- Las muestras en las cápsulascomparaciones · ciclos · listas
- Las partículas que chocanlistas · ciclos · comparaciones
- Las pistas del cumpleañosciclos · listas · índices
- Lluvia entre las rocaslistas · ciclos · comparaciones