Цель
Азбука Морзе часто представляется как звук. Учитывая поток битов, которые представляют, включен ли звук или нет, переведите поток в буквы, цифры и пробелы.
конкретика
- Поток битов анализируется на основе длины повторяющихся битов ВКЛ / ВЫКЛ.
- 1 бит ON - это точка
- 3 ON биты - это тире
- 1 бит OFF ограничивает точки и тире
- 3 ВЫКЛ биты символов
- 7 ВЫКЛ битов отделяют слова (пробел)
- Входные данные могут быть строкой или массивом. На вход допускаются только два уникальных символа / значения по вашему выбору. (например, 0/1, истина / ложь, запятая / пробел)
- Вывод возвращает строку или выводится на стандартный вывод.
пример
Input: 101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101
Analysis: \--H--/ E \---L---/ \---L---/ \----O----/\-- --/\---W---/ \----O----/ \--R--/ \---L---/ \--D--/
Output: HELLO WORLD
Предположения
- Поток всегда начинается и заканчивается битом ON.
- Нет пробелов в начале или в конце.
- Ввод всегда действителен.
- Все буквы (без учета регистра) и цифры поддерживаются.
Тестовые случаи
101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101
HELLO WORLD
10100000001011100011101110000000101110000000101011101000101000101010001010101
I AM A FISH
1010111011101110001110111011101110111000101110111011101110001110111010101
2017
101010001110111011100010101
SOS
счет
Это код гольф. Наименьший код подсчета байтов к этому времени на следующей неделе побеждает.