Этот вопрос требует функциональности сопоставления словаря T9, что является очень интересной проблемой. Но у T9 есть другой способ печатать, и это печатать по буквам. Вам НЕ нужен словарь для реализации этой клавиатуры.
Вот карта клавиш клавиатуры T9, если вы забыли:
+-------+-------+-------+
| 1 | 2 | 3 |
| .?! | ABC | DEF |
+-------+-------+-------+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-------+-------+-------+
| 7 | 8 | 9 |
| PQRS | TUV | WXYZ |
+-------+-------+-------+
| * | 0 | # |
| ← | SPACE | → |
+-------+-------+-------+
Как работает Т9
Чтобы ввести символ с Т9, вам нужно нажать цифровую клавишу, представляющую время этого символа n
. n
это порядок этого символа, написанного на этом ключе. Цифры являются последним символом, который вы можете ввести для каждой клавиши. Например, для ввода B
я нажимаю 2
два раза или для 5
ввода нажимаю 5
четыре раза. Чтобы закончить вводить этот символ, я нажимаю #
. *
это просто забой. В нашей версии клавиатуры нет заглавных букв.
Примеры ввода и вывода:
8#99999#055#33#999#22#666#2#777#3# → T9 KEYBOARD
Объяснение:
8
выбираетT
и#
переходит к следующему персонажу99999
выберите последний символ9
ключа, который является9
и#
перемещается к следующему символу0
вставляет пробел33
выбирает второй символ3
клавишиK
и#
переходит к следующему символу- И так далее...
правила
Ваша функция или программа должна принимать строку, представляющую нажатия клавиш T9. Вывод - это текст, полученный из этих нажатий клавиш, как указано выше.
Это базовый код гольфа, поэтому победитель является самым коротким в байтах, и применяются стандартные правила / лазейки.
T9 KEYBOARD
полностью неверен. То, что читаетT9 JEYBARD
#
если последовательные кнопки отличаются в любом случае. это сказанное: без этого бонуса, что должно произойти, если #
опущено?