Esta pregunta solicita una funcionalidad de coincidencia de diccionario T9 que es un problema muy interesante. Pero T9 tiene otra forma de escribir y es escribir caracteres por caracteres. NO necesitaría un diccionario para implementar este teclado.
Aquí está el mapa de teclas de un teclado T9 si lo olvidó:
+-------+-------+-------+
| 1 | 2 | 3 |
| .?! | ABC | DEF |
+-------+-------+-------+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-------+-------+-------+
| 7 | 8 | 9 |
| PQRS | TUV | WXYZ |
+-------+-------+-------+
| * | 0 | # |
| ← | SPACE | → |
+-------+-------+-------+
Cómo funciona T9
Para escribir un carácter con T9, debe presionar la tecla numérica que representa los n
tiempos de ese carácter . n
es el orden de ese personaje escrito en esa tecla. Los números son el último carácter que puede escribir para cada tecla. Por ejemplo, para escribir B
presiono 2
dos veces, o para escribir 5
presiono 5
cuatro veces. Para terminar de escribir este personaje, presiono #
. *
es simplemente retroceso. En nuestra versión de teclado no hay mayúsculas.
Ejemplos de entrada y salida:
8#99999#055#33#999#22#666#2#777#3# → T9 KEYBOARD
Explicación:
8
seleccionaT
y#
pasa al siguiente personaje99999
selecciona el último carácter de la9
clave que es9
y#
pasa al siguiente personaje0
inserta un espacio33
selecciona el segundo carácter de la3
clave que esK
y se#
mueve al siguiente carácter- Y así...
Reglas
Su función o programa debe aceptar una cadena que represente las pulsaciones de teclas T9. La salida es el texto resultante de esas pulsaciones de teclas, como se describe anteriormente.
Este es un código básico de golf, por lo que el ganador es el más corto en bytes, y se aplican reglas / lagunas estándar.
T9 KEYBOARD
es completamente incorrecto. Eso se leeT9 JEYBARD
#
si los botones consecutivos son diferentes de todos modos. Dicho esto: sin ese bono, ¿qué pasaría si #
se omite?