Questa è la mia prima sfida su ppcg!
Ingresso
Una stringa composta da due diversi caratteri ASCII. Per esempio
ABAABBAAAAAABBAAABAABBAABA
Sfida
L'attività è di decodificare questa stringa seguendo queste regole:
- Salta i primi due personaggi
- Dividi il resto della stringa in gruppi di 8 caratteri
- In ogni gruppo, sostituisci ogni carattere con
0
se quel carattere è uguale al primo carattere della stringa originale e con1
altrimenti - Ora ogni gruppo rappresenta un byte. Converti ciascun gruppo in carattere dal codice char byte
- Concatena tutti i personaggi
Esempio
Decodifichiamo la stringa sopra.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Si noti che A
è il primo carattere nella stringa originale ed B
è il secondo. Pertanto, sostituire ciascuno A
con 0
e ciascuno B
con 1
. Ora otteniamo:
00110000 00110001 00110010
che è [0x30, 0x31, 0x32]
in binario. Questi valori rappresentano ["0", "1", "2"]
rispettivamente i caratteri , quindi dovrebbe essere l'output finale 012
.
punteggio
Questo è, ovviamente, code-golf , il che significa che il tuo codice sarà il più breve possibile. Il punteggio viene misurato in byte.
Vincoli e formato IO
Si applicano le regole standard. Ecco alcune regole aggiuntive:
- Puoi assumere un input valido
- La stringa di input è composta esattamente da due caratteri diversi
- I primi due personaggi sono diversi
- La lunghezza minima della stringa di input è di 2 caratteri
- La lunghezza fornirà sempre 2 modulo 8
- Puoi presumere che la stringa sarà sempre composta solo da caratteri ASCII stampabili
- Sia nell'input che nella stringa decodificata
- Gli spazi bianchi iniziali e finali sono consentiti nell'output (tutto ciò che corrisponde
/\s*/
)