これは、ppcgに対する私の最初の挑戦です!
入力
2つの異なるASCII文字で構成される文字列。例えば
ABAABBAAAAAABBAAABAABBAABA
チャレンジ
タスクは、これらの規則に従ってこの文字列をデコードすることです。
- 最初の2文字をスキップします
- 残りの文字列を8文字のグループに分割します
- 各グループで、各文字を
0
元の文字列の最初の文字と同じ場合は各文字に置き換え、そうでない場合は各文字を置き換え1
ます - 各グループは1バイトを表します。各グループをバイト文字コードから文字に変換します
- すべての文字を連結する
例
上記の文字列をデコードしましょう。
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
これA
が元の文字列の最初の文字でB
あり、2番目の文字であることに注意してください。そのため、それぞれ置き換えるA
と0
、それぞれをB
して1
。今、私たちは取得します:
00110000 00110001 00110010
これは[0x30, 0x31, 0x32]
バイナリです。これらの値は["0", "1", "2"]
それぞれ文字を表すため、最終的な出力はである必要があります012
。
得点
これはもちろんcode-golfであり、コードをできるだけ短くすることを意味します。スコアはバイト単位で測定されます。
制約とIOフォーマット
標準ルールが適用されます。追加のルールは次のとおりです。
- 有効な入力を想定できます
- 入力文字列は正確に2つの異なる文字で構成されます
- 最初の2文字は異なります
- 入力文字列の最小長は2文字です
- 長さは常に2モジュロ8になります
- 文字列は常に印刷可能なASCII文字のみで構成されると仮定できます。
- 入力とデコードされた文字列の両方で
- 出力では、先頭と末尾の空白が許可されます(一致するものすべて
/\s*/
)