El telegrama cifrado
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- booleanos
- ciclos
- textos
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):
passJavaScript
function sePuede(claro, clave) {
}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.