Este é o meu primeiro desafio no ppcg!
Entrada
Uma sequência que consiste em dois caracteres ascii diferentes. Por exemplo
ABAABBAAAAAABBAAABAABBAABA
Desafio
A tarefa é decodificar essa sequência seguindo estas regras:
- Pule os dois primeiros caracteres
- Divida o restante da sequência em grupos de 8 caracteres
- Em cada grupo, substitua cada caractere por
0
se esse caractere for igual ao primeiro caractere da sequência original e por1
outro - Agora cada grupo representa um byte. Converter cada grupo em caractere a partir do código de bytes
- Concatene todos os caracteres
Exemplo
Vamos decodificar a string acima.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Observe que esse A
é o primeiro caractere da string original e B
o segundo. Portanto, substitua cada um A
por 0
e cada um B
por 1
. Agora obtemos:
00110000 00110001 00110010
que está [0x30, 0x31, 0x32]
em binário. Esses valores representam caracteres ["0", "1", "2"]
respectivamente, portanto a saída final deve ser 012
.
Pontuação
Isso é, é claro, código-golfe , o que significa tornar seu código o mais curto possível. A pontuação é medida em bytes.
Restrições e formato IO
Aplicam-se regras padrão. Aqui estão algumas regras adicionais:
- Você pode assumir uma entrada válida
- A sequência de entrada consiste em exatamente dois caracteres diferentes
- Os dois primeiros caracteres são diferentes
- O comprimento mínimo da sequência de entrada é de 2 caracteres
- O comprimento sempre dará 2 módulos 8
- Você pode assumir que a string sempre consistirá apenas em caracteres ASCII imprimíveis
- Tanto na entrada quanto na string decodificada
- Os espaços em branco à esquerda e à direita são permitidos na saída (tudo o que corresponde
/\s*/
)