Вступление
Примечание: это не какой-то метод поощрения мошенничества. Как уже сказал Cᴏɴᴏʀ O'Bʀɪᴇɴ , обучение - лучшее решение для прохождения теста: 3.
Рассмотрим следующие ответы на тест с множественным выбором:
ABCBCAAB
Вот таблица, которая указывает, совпадают ли ответы:
A B C B C A A B
A 1 0 0 0 0 1 1 0
B 0 1 0 1 0 0 0 1
C 0 0 1 0 1 0 0 0
Это дает нам следующие цифры:
10000110, 01010001, 00101000
Задача состоит в том, чтобы распечатать эти двоичные числа. Но важно видеть, какие буквы используются в тесте с множественным выбором. Например:
ABCDCDBCDABC
Это самая высокая буква является D
, что является четвёртым буква в алфавите . Поэтому нам нужно вывести 4 разных двоичных числа. А именно:
100000000100, 010000100010, 001010010001, 000101001000
Обратите внимание, что вы должны смотреть на самую высокую букву . Рассмотрим следующий пример:
AACCACAC
Хотя значение B
не используется, нам нужно вывести двоичный результат для B
. Это означает, что ответ будет:
11001010, 00000000, 00110101
задача
Учитывая ответы на тест с множественным выбором, выведите двоичные числа. Вы можете предположить, что ввод будет не пустым и будет содержать только буквы[A-Z]
. Вместо единиц и нулей вы также можете использовать true и false.
Тестовые случаи:
Input: ABBBABABA
Output: 100010101, 011101010
Input: AAAAAAAAA
Output: 111111111
Input: AFGHEEHFD
Output: 100000000 000000000 000000000 000000001 000011000 010000010 001000000 000100100
Input: Z
Output: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
Input: ABCDCDBCDABC
Output: 100000000100, 010000100010, 001010010001, 000101001000
Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!
[a-z]
вместо этого?