Esta pergunta solicita uma funcionalidade de correspondência de dicionário T9, que é um problema muito interessante. Mas o T9 tem outra maneira de digitar, que é digitar caractere por caractere. Você NÃO precisaria de um dicionário para implementar este teclado.
Aqui está o mapa de teclas de um teclado T9 se você esqueceu:
+-------+-------+-------+
| 1 | 2 | 3 |
| .?! | ABC | DEF |
+-------+-------+-------+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-------+-------+-------+
| 7 | 8 | 9 |
| PQRS | TUV | WXYZ |
+-------+-------+-------+
| * | 0 | # |
| ← | SPACE | → |
+-------+-------+-------+
Como o T9 funciona
Para digitar um caractere com T9, você precisa pressionar a tecla numérica que representa esse ntempo. né a ordem desse caractere escrito nessa chave. Os números são o último caractere que você pode digitar para cada tecla. Por exemplo, para digitar Beu pressione 2duas vezes ou para digitar 5eu pressione 5quatro vezes. Para terminar de digitar esse caractere, pressione #. *é simplesmente backspace. Em nossa versão do teclado, não há letras maiúsculas.
Exemplos de entrada e saída:
8#99999#055#33#999#22#666#2#777#3# → T9 KEYBOARD
Explicação:
8selecionaTe#move para o próximo caractere99999selecione o último caractere da9chave que é9e#move para o próximo caractere0insere um espaço33seleciona o segundo caractere da3tecla que éKe#passa para o próximo caractere- E assim por diante...
Regras
Sua função ou programa deve aceitar uma sequência que representa as teclas pressionadas T9. Saída é o texto resultante dessas teclas, conforme descrito acima.
Este é um código básico de golfe, portanto o vencedor é o mais curto em bytes, e aplicam-se regras / brechas padrão.
T9 KEYBOARDestá completamente errado. Aquele lêT9 JEYBARD
#se os botões consecutivos forem diferentes de qualquer maneira. o que foi dito: sem esse bônus, o que aconteceria se #for omitido?