Cifrado en sentido horario

Published by Mubashir Hassan in

En Cifrado en sentido horario, la codificación se realiza colocando los caracteres del mensaje en las celdas de las esquinas de un cuadrado y avanzando en el sentido de las agujas del reloj.

Crea una función que reciba un argumento message y devuelva el mensaje codificado.

Existen algunas variaciones en las reglas de cifrado. A continuación se describe una versión de las reglas del cifrado:

message = "Mubashir Hassan"

clockwiseCipher(message) ➞ "Ms ussahr nHaaib"

Paso 1: Forma un cuadrado lo suficientemente grande como para contener todos los caracteres del mensaje. El mensaje proporcionado cabe en un cuadrado de 4 x 4.

Paso 2: Comenzando por la esquina superior izquierda, coloca los caracteres del mensaje en las celdas de las esquinas avanzando en el sentido de las agujas del reloj. Una vez completado el primer ciclo, continúa colocando caracteres en las celdas que siguen a la última en su fila/columna correspondiente. Cuando las celdas exteriores estén llenas, continúa con los cuadrados interiores restantes:

Msu
ssah
rnH
aaib

Paso 3: Devuelve el mensaje codificado por filas:

eMessage = "Ms ussahr nHaaib"

Ejemplo de un cuadrado de 5 x 5

[ 1  5  9 13  2]
[16 17 21 18  6]
[12 24 25 22 10]
[ 8 20 23 19 14]
[ 4 15 11  7  3]

Ejemplos

clockwiseCipher("Mubashir Hassan") ➞ "Ms ussahr nHaaib"

clockwiseCipher("Matt MacPherson") ➞ "M ParsoMc nhteat"

clockwiseCipher("Edabit is amazing") ➞ "Eisadng  tm    i   zbia a"

Notas

  • Rellena las celdas que no se utilicen con un carácter de espacio.
  • El mensaje puede contener espacios y caracteres especiales.