Las llaves gemelas
- O(n) · Media
- Plan completo
- Python
- JavaScript
- textos
- ciclos
- índices
Enunciado
Nadie encuentra el llavero del ala norte de la mansión Ravel, y el cerrajero trabaja con las llaves sueltas que aparecieron en los cajones. Cada llave se describe con un texto de cifras, una por diente, de la argolla a la punta: "3152" tiene cuatro dientes.
Escribe una función que reciba dos llaves (textos, pueden venir vacíos) y regrese, como texto, el tramo que tienen igual desde la argolla. Con "31527" y "31587" regresas "315": en el cuarto diente una tiene 2 y la otra 8, y lo que viene después ya no cuenta, aunque el último diente coincida. Si una llave es más corta y la otra empieza igual, el tramo es la llave corta entera. Si el primer diente ya es distinto, o una de las llaves está vacía, regresa "".
Ejemplos
El del ejemplo
"31527", "31587" → "315"
Llaves idénticas
"4455", "4455" → "4455"
La primera es más corta
"123", "12345" → "123"
La segunda es más corta
"98765", "98" → "98"
Distintas desde el primer diente
"52", "25" → ""
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def tramo_comun(una, otra):
passJavaScript
function tramoComun(una, otra) {
}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.