A cifra do Quadrado de Políbio é uma cifra de substituição simples que utiliza uma grade quadrada de 5x5. As letras A-Z são inseridas na grade, e "I" e "J" normalmente compartilham uma posição (pois há 26 letras e apenas 25 posições).
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| 1 | A | B | C | D | E |
| 2 | F | G | H | I/J | K |
| 3 | L | M | N | O | P |
| 4 | Q | R | S | T | U |
| 5 | V | W | X | Y | Z |
Para cifrar uma mensagem, cada letra é simplesmente substituída pelos números da sua linha e coluna na grade.
Crie uma função que receba uma mensagem em texto claro ou cifrado e retorne o texto cifrado ou claro correspondente.
polybius("Hi") ➞ "2324"
polybius("2324 4423154215") ➞ "hi there"
polybius("543445 14343344 522433 21422415331443 52244423 4311311114") ➞ "you dont win friends with salad"Como "I" e "J" compartilham uma posição, ambos são cifrados como 24, mas são decifrados apenas como "I" (consulte o terceiro e o quarto teste).