Ini tantangan pertama saya di ppcg!
Memasukkan
String yang terdiri dari dua karakter ascii yang berbeda. Sebagai contoh
ABAABBAAAAAABBAAABAABBAABA
Tantangan
Tugasnya adalah untuk memecahkan kode string ini mengikuti aturan berikut:
- Lewati dua karakter pertama
- Pisahkan sisa string menjadi grup 8 karakter
- Di setiap grup, ganti setiap karakter dengan
0
jika karakter itu sama dengan karakter pertama dari string asli, dan dengan yang1
lain - Sekarang setiap grup mewakili byte. Ubah setiap grup menjadi karakter dari kode karakter byte
- Menggabungkan semua karakter
Contoh
Mari kita decode string di atas.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Perhatikan bahwa itu A
adalah karakter pertama dalam string asli dan B
yang kedua. Karena itu, ganti masing A
- masing dengan 0
dan masing B
- masing dengan 1
. Sekarang kami memperoleh:
00110000 00110001 00110010
yang ada [0x30, 0x31, 0x32]
dalam biner. Nilai-nilai ini mewakili karakter ["0", "1", "2"]
masing-masing, sehingga hasil akhirnya seharusnya 012
.
Mencetak gol
Ini, tentu saja, kode-golf , yang berarti membuat kode Anda sesingkat mungkin. Skor diukur dalam byte.
Batasan dan format IO
Aturan standar berlaku. Berikut ini beberapa aturan tambahan:
- Anda dapat menerima input yang valid
- String input terdiri dari tepat dua karakter yang berbeda
- Dua karakter pertama berbeda
- Panjang minimal dari string input adalah 2 karakter
- Panjangnya akan selalu memberikan 2 modulo 8
- Anda dapat menganggap bahwa string hanya akan selalu terdiri dari karakter ASCII yang dapat dicetak
- Baik dalam input maupun dalam string yang diterjemahkan
- Whitespace terkemuka dan tertinggal diizinkan dalam output (semua yang cocok
/\s*/
)