Cifra digital

Na cifra digital, a codificação é feita pela simples soma dos números da chave com os valores correspondentes aos caracteres de uma string de entrada.

Crie uma função digitalCipher que receba uma string message em letras minúsculas, seguida de um número inteiro positivo key, e retorne o array codificado de inteiros.

Atribua um número único a cada letra do alfabeto.

 a  b  c  d  e  f  g  h  i  j  k  l  m
 1  2  3  4  5  6  7  8  9  10 11 12 13
 n  o  p  q  r  s  t  u  v  w  x  y  z
 14 15 16 17 18 19 20 21 22 23 24 25 26

Existem algumas variações nas regras de cifragem. Uma versão dessas regras é descrita abaixo:

let message = "scout"
let key = 1939

digitalCipher(message, key) // ➞ [20, 12, 18, 30, 21]

Escreva o número correspondente ao lado de cada caractere:

 s  c  o  u  t
19  3 15 21 20

Some a cada número obtido os dígitos consecutivos da chave:

   s  c  o  u  t
  19  3 15 21 20
 + 1  9  3  9  1
 ---------------
  20 12 18 30 21

Veja o exemplo abaixo para entender melhor:

message = "masterpiece"
key = 1939

digitalCipher(message, key) ➞ [14, 10, 22, 29, 6, 27, 19, 18, 6, 12, 8]

   m  a  s  t  e  r  p  i  e  c  e
  13  1 19 20  5 18 16  9  5  3  5
+  1  9  3  9  1  9  3  9  1  9  3
  --------------------------------
  14 10 22 29  6 27 19 18  6  12 8

Exemplos

digitalCipher("scout", 1939) // ➞ [20, 12, 18, 30, 21]

digitalCipher("mubashir", 1990) // ➞ [14, 30, 11, 1, 20, 17, 18, 18]

digitalCipher("edabit", 100) // ➞ [6, 4, 1, 3, 9, 20]

Notas

Gostou deste desafio? Tente decodificar sua mensagem criptografada aqui!