Dies ist meine erste Herausforderung bei ppcg!
Eingang
Eine Zeichenfolge, die aus zwei verschiedenen ASCII-Zeichen besteht. Zum Beispiel
ABAABBAAAAAABBAAABAABBAABA
Herausforderung
Die Aufgabe besteht darin, diese Zeichenfolge nach folgenden Regeln zu dekodieren:
- Überspringe die ersten beiden Zeichen
- Teilen Sie den Rest der Zeichenfolge in Gruppen von 8 Zeichen
- In jeder Gruppe ersetzen jedes Zeichen mit ,
0
ob das Zeichen das gleiche wie das erste Zeichen des ursprünglichen Zeichenfolge und mit1
ansonsten - Jetzt repräsentiert jede Gruppe ein Byte. Konvertieren Sie jede Gruppe in Zeichen aus dem Byte-Zeichencode
- Verketten Sie alle Zeichen
Beispiel
Lassen Sie uns den obigen String dekodieren.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Beachten Sie, dass dies A
das erste und B
das zweite Zeichen in der ursprünglichen Zeichenfolge ist. Ersetzen Sie daher jeweils A
mit 0
und B
mit 1
. Jetzt erhalten wir:
00110000 00110001 00110010
das ist [0x30, 0x31, 0x32]
in binär. Diese Werte stellen jeweils Zeichen ["0", "1", "2"]
dar, daher sollte die endgültige Ausgabe erfolgen 012
.
Wertung
Dies ist natürlich Codegolf , was bedeutet, dass Sie Ihren Code so kurz wie möglich halten. Die Bewertung wird in Bytes gemessen.
Einschränkungen und IO-Format
Es gelten Standardregeln. Hier sind einige zusätzliche Regeln:
- Sie können eine gültige Eingabe annehmen
- Eingabezeichenfolge besteht aus genau zwei verschiedenen Zeichen
- Die ersten beiden Zeichen sind unterschiedlich
- Die Mindestlänge der Eingabezeichenfolge beträgt 2 Zeichen
- Die Länge ergibt immer 2 Modulo 8
- Sie können davon ausgehen, dass die Zeichenfolge immer nur aus druckbaren ASCII-Zeichen besteht
- Sowohl in der Eingabe als auch in der dekodierten Zeichenfolge
- Führende und nachfolgende Leerzeichen sind in der Ausgabe zulässig (alles, was passt
/\s*/
)