Це мій перший виклик на ppcg!
Вхідні дані
Рядок, що складається з двох різних символів ascii. Наприклад
ABAABBAAAAAABBAAABAABBAABA
Виклик
Завдання - розшифрувати цей рядок, дотримуючись цих правил:
- Пропустіть перші два символи
- Решту рядка розділіть на групи з 8 символів
- У кожній групі замініть кожен символ на те,
0
якщо цей символ такий же, як перший символ початкового рядка, і1
іншим - Тепер кожна група представляє байт. Перетворіть кожну групу в символи з байтового кодового коду
- Об'єднайте всіх символів
Приклад
Давайте розшифруємо вищевказаний рядок.
AB AABBAAAA AABBAAAB AABBAABA
^^ ^ ^ ^
| | | |
| \---------|---------/
| |
Skip Convert to binary
Зауважте, що A
це перший символ у початковій рядку та B
другий. Таким чином, змінюють один A
з 0
і кожен B
з 1
. Тепер ми отримуємо:
00110000 00110001 00110010
який є [0x30, 0x31, 0x32]
у двійковій. Ці значення представляють символи ["0", "1", "2"]
відповідно, тому кінцевим результатом повинен бути 012
.
Оцінка балів
Це, звичайно, код-гольф , що означає зробити свій код якомога коротшим. Оцінка вимірюється в байтах.
Обмеження та формат IO
Діють стандартні правила. Ось кілька додаткових правил:
- Ви можете припустити дійсний ввід
- Рядок введення складається з рівно двох різних символів
- Перші два символи різні
- Мінімальна довжина вхідного рядка - 2 символи
- Довжина завжди даватиме 2 модуля 8
- Можна припустити, що рядок завжди буде складатися лише з символів, що друкуються ASCII
- Як у вхідному, так і в декодованому рядку
- Простір провідних та кінцевих пробілів дозволений у висновку (все, що відповідає
/\s*/
)