La cifra del espejo
- O(n) · Media
- Plan completo
- Python
- JavaScript
- textos
- ciclos
Enunciado
El cifrado Atbash es de los más viejos que existen y cabe en una frase: cada letra se cambia por la que ocupa su lugar contando desde el final del abecedario. La a es la primera, así que se vuelve z, que es la última; la b se vuelve y; la c, x. Es un espejo puesto a la mitad: la m y la n se intercambian, y pasar una letra por el espejo dos veces te devuelve la misma letra.
Escribe una función que reciba un texto y regrese su versión cifrada. Las reglas: el abecedario son las 26 letras de la a a la z y el resultado sale en minúsculas, así que una mayúscula se cifra como su minúscula y "HOLA" da "sloz". Los números se quedan como están. Todo lo demás desaparece del resultado: los espacios, las comas, los puntos, la ñ y las vocales con acento, porque no son ninguna de esas 26 letras (una á no cuenta como a: se va). Con un texto vacío regresas un texto vacío.
Hay dos caminos y los dos sirven: buscar en qué posición está la letra y tomar la de la posición contraria, o tener el abecedario al revés escrito aparte y sacar la letra de la misma posición.
Ejemplos
Dos letras
"si" → "hr"
La n y la o
"no" → "ml"
Todo en mayúsculas
"HOLA" → "sloz"
Los espacios se van
"sol y luna" → "hlobofmz"
Números y signos
"Prueba, 1 2 3, prueba." → "kifvyz123kifvyz"
Una frase
"Mensaje secreto" → "nvmhzqvhvxivgl"
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def cifra_espejo(texto):
passJavaScript
function cifraEspejo(texto) {
}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)
- La combinación de la bóvedalistas · ciclos · booleanos
- La contraseña seguratextos · booleanos · ciclos
- La nota del carnicerotextos · expresiones regulares · operaciones
- La palabra duplicadatextos · ciclos
- La palabra más largatextos · listas · ciclos
- La pareja de esquinasdiccionarios · listas · comparaciones