Reto #5: Descifrando el mensaje secreto

Como parte de entretenimiento y poner a prueba nuestra lógica vamos a realizar un pequeño reto para descifrar un mensaje.

Rodríguez Patiño, Eduardo
2020-09-28 | 2,698 lecturas

Un nuevo reto después de tiempo, el último que hice del Slider fue un fracaso total jajaja, espero que este se animen a participar.

Objetivo

  • Implementar un algortimo que permita descifrar el mensaje oculto. NO HAY FECHA LIMITE.

Código base

Este es el código que usaremos como base para participar, debemos desarrollar el método decrypt.

<div id="result"></div><
class MySecretMessage {
  constructor(n) {
    this.abc = 'abcdefghijklmnopqrstuvwxyz';
    this.n = n;
  }

  decrypt(word) {
    word = word.toLowerCase();

    /* Tu hermoso código en estas líneas */

    return 'ESTO DEBERÍA RETORNAR EL MENSAJE DESCIFRADO';
  }
}

let msw = new MySecretMessage(27);
document.getElementById('result').innerText = msw.decrypt('zmdwrnes-dr-dk-ldinq-rhshn-vda-gzakz-ghrozmz-ptd-chronmd-cd-fqzmcdr-btqrnr-x-lzsdqhzkdr-rnaqd-sdbmnknfhz-vda');

Instrucciones

Las pautas que debemos considerar son las siguientes:

  1. Solo se usará javascript, no plugins, no ANGULAR, menos jQuery ¬¬'.
  2. Deberás usar el código que les pase hace un instante
  3. Si se dan cuenta la clase se inicializa con un valor, en este caso el entero 27.
    • Lo que quiere decir esto, es que cada letra de nuestro mensaje deberá correr 27 letras hacia la derecha. Por ejemplo, supongamos que el valor ingresado es 2:
      • El mensaje encriptado es el siguiente: "fmjy-kslbm"
      • Como especificamos que el valor es 2, por lo tanto cada letra deberá correr dos letras del abecedario a la derecha. Teniendo como resultado: "hola mundo"
      • En el caso que la letra sea la Z y la corramos 2, pués la siguiente letra sería B.
  4. Reemplazar los "-" por " " (espacios en blanco)
  5. Omite en tu algoritmo los caracteres especiales como (!"#$%$%(), olvidate de la Ñ no estamos usando.
  6. Asumir que todo lo ingresado esta en minúscula.
  7. El mensaje secreto es el siguiente: 
?zmdwrnes-dr-dk-ldinq-rhshn-vda-gzakz-ghrozmz-ptd-chronmd-cd-fqzmcdr-btqrnr-x-lzsdqhzkdr-rnaqd-sdbmnknfhz-vda

¿A dónde mando mi código?

Para enviar tu código debes haber seguido al pie de la letra las instrucciones dadas y dejar un comentario adjutando su enlace de Code Pen, JS Fiddle o cualquier otra web que permita visualizar código en línea.

Personas que han participado:

  • Eduardo Rodríguez Patiño
    Les comparto mi código, pienso que podría optimizarlo más para evitar hacer tantos bucles pero es lo que me salió y la manera más sencilla de resolverlo.
    Enlacehttps://jsfiddle.net/y0tnaq0z/2/
  • Mijail Vargas
    Excelente código, muy bueno y práctico.
    Enlacehttps://jsfiddle.net/9x0zd5bz/