Saltar al contenido

El telegrama cifrado

Enunciado

Torreón, 1914. Leonor Garza, telegrafista, copia un telegrama enemigo en clave. Sospecha que esconde el nombre de un pueblo: ¿pudo ese nombre volverse la clave con una sustitución simple de letras?

Escribe una función que reciba claro y clave, dos textos de letras minúsculas sin espacios y del mismo largo (pueden venir vacíos). Cada letra del claro se cambia por la de la clave en la misma posición. Regresa verdadero si una misma letra del claro siempre da la misma letra y dos letras distintas nunca dan la misma; una letra puede quedarse igual. Si no se cumple, regresa falso. Con los dos vacíos, verdadero. Con "torreon" y "kbiixbf": la t se vuelve k, la o b, la r i, la e x y la n f; las dos r dan i y las dos o dan b, así que es verdadero.

Con "villa" y "xqlmm" es falso: la misma l se vuelve l y luego m. Con "paso" y "mama" también: la p y la s, distintas, dan las dos m.

Ejemplos

  • El ejemplo que sí

    "torreon", "kbiixbf" → true

  • Una letra con dos cambios

    "villa", "xqlmm" → false

  • Dos letras con el mismo cambio

    "paso", "mama" → false

  • Al revés tampoco

    "mama", "paso" → false

  • Una letra que se queda igual

    "a", "a" → true

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

Empiezas con esto

Python

def se_puede(claro, clave):
    pass

JavaScript

function sePuede(claro, clave) {
}
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 →