Saltar al contenido

La cifra del espejo

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

JavaScript

function cifraEspejo(texto) {
}
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 →