Este es mi primer desafío en ppcg!
Entrada
Una cadena que consta de dos caracteres ascii diferentes. Por ejemplo
ABAABBAAAAAABBAAABAABBAABA
Reto
La tarea es decodificar esta cadena siguiendo estas reglas:
- Salta los dos primeros caracteres
- Divida el resto de la cadena en grupos de 8 caracteres.
- En cada grupo, reemplace cada carácter con
0si ese carácter es el mismo que el primer carácter de la cadena original, y1si no - Ahora cada grupo representa un byte. Convierta cada grupo en carácter a partir del código de bytes
- Concatenar todos los personajes
Ejemplo
Decodifiquemos la cadena de arriba.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Observe que Aes el primer carácter de la cadena original y Bes el segundo. Por lo tanto, reemplace cada Acon 0y cada uno Bcon 1. Ahora obtenemos:
00110000 00110001 00110010
que está [0x30, 0x31, 0x32]en binario Estos valores representan caracteres ["0", "1", "2"]respectivamente, por lo que la salida final debería ser 012.
Tanteo
Esto es, por supuesto, code-golf , lo que significa hacer que su código sea lo más corto posible. La puntuación se mide en bytes.
Restricciones y formato IO
Aplican reglas estándar. Aquí hay algunas reglas adicionales:
- Puede asumir una entrada válida
- La cadena de entrada consta de exactamente dos caracteres diferentes
- Los dos primeros personajes son diferentes.
- La longitud mínima de la cadena de entrada es de 2 caracteres.
- La longitud siempre dará 2 módulo 8
- Puede suponer que la cadena siempre constará solo de caracteres ASCII imprimibles
- Tanto en la entrada como en la cadena decodificada
- Los espacios en blanco iniciales y finales están permitidos en la salida (todo lo que coincida
/\s*/)
