Ceci est mon premier défi sur ppcg!
Contribution
Une chaîne composée de deux caractères ASCII différents. Par exemple
ABAABBAAAAAABBAAABAABBAABA
Défi
La tâche consiste à décoder cette chaîne en suivant ces règles:
- Passer les deux premiers personnages
- Diviser le reste de la chaîne en groupes de 8 caractères
- Dans chaque groupe, remplacez chaque caractère par
0
si ce caractère est identique au premier caractère de la chaîne d'origine,1
sinon par - Maintenant, chaque groupe représente un octet. Convertir chaque groupe en caractère à partir du code de caractère octet
- Concaténer tous les personnages
Exemple
Décodons la chaîne ci-dessus.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Notez que A
c'est le premier caractère de la chaîne d'origine et B
le second. Par conséquent, remplacez chaque A
avec 0
et chaque B
avec 1
. Maintenant nous obtenons:
00110000 00110001 00110010
qui est [0x30, 0x31, 0x32]
en binaire. Ces valeurs représentent les caractères ["0", "1", "2"]
respectivement, donc le résultat final devrait être 012
.
Notation
Il s’agit bien sûr de code-golf , ce qui signifie que votre code doit être aussi court que possible. Le score est mesuré en octets.
Contraintes et format IO
Les règles standard s'appliquent. Voici quelques règles supplémentaires:
- Vous pouvez supposer une entrée valide
- La chaîne d'entrée consiste en exactement deux caractères différents
- Les deux premiers personnages sont différents
- La longueur minimale de la chaîne d'entrée est de 2 caractères
- La longueur donnera toujours 2 modulo 8
- Vous pouvez supposer que la chaîne sera toujours composée uniquement de caractères ASCII imprimables.
- À la fois dans l'entrée et dans la chaîne décodée
- Les espaces de début et de fin sont autorisés dans la sortie (tout ce qui correspond
/\s*/
)