Mục tiêu
Mã Morse thường được biểu diễn dưới dạng âm thanh. Đưa ra một luồng bit đại diện cho dù âm thanh được bật hay tắt, hãy dịch luồng thành chữ và số và khoảng trắng.
Cụ thể
- Luồng bit được phân tích dựa trên độ dài lặp lại các bit ON / OFF.
- 1 bit ON là một dấu chấm
- 3 bit ON là một dấu gạch ngang
- 1 bit TẮT dấu chấm và dấu gạch ngang
- 3 bit TẮT phân định các ký tự
- 7 bit TẮT phân định các từ (dấu cách)
- Đầu vào có thể là một chuỗi hoặc mảng. Chỉ cho phép hai ký tự / giá trị duy nhất của sự lựa chọn của bạn trong đầu vào. (ví dụ: 0/1, đúng / sai, dấu phẩy / dấu cách)
- Đầu ra trả về một chuỗi hoặc được in thành đầu ra tiêu chuẩn.
Thí dụ
Input: 101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101
Analysis: \--H--/ E \---L---/ \---L---/ \----O----/\-- --/\---W---/ \----O----/ \--R--/ \---L---/ \--D--/
Output: HELLO WORLD
Giả định
- Luồng luôn bắt đầu và kết thúc với bit ON.
- Không có khoảng trắng hàng đầu hoặc dấu.
- Đầu vào luôn hợp lệ.
- Tất cả các chữ cái (không phân biệt chữ hoa chữ thường) và chữ số đều được hỗ trợ.
Các trường hợp thử nghiệm
101010100010001011101010001011101010001110111011100000001011101110001110111011100010111010001011101010001110101
HELLO WORLD
10100000001011100011101110000000101110000000101011101000101000101010001010101
I AM A FISH
1010111011101110001110111011101110111000101110111011101110001110111010101
2017
101010001110111011100010101
SOS
Chấm điểm
Đây là mã golf. Mã đếm byte thấp nhất vào thời điểm này vào tuần tới sẽ thắng.