Saltar al contenido

Las llaves gemelas

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):
    pass

JavaScript

function tramoComun(una, otra) {
}
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 →