Cette question demande une fonctionnalité de correspondance de dictionnaire T9 qui est un problème très intéressant. Mais T9 a une autre façon de taper et c'est de taper caractère par caractère. Vous n'auriez PAS besoin d'un dictionnaire pour implémenter ce clavier.
Voici le clavier d'un clavier T9 si vous avez oublié:
+-------+-------+-------+
| 1 | 2 | 3 |
| .?! | ABC | DEF |
+-------+-------+-------+
| 4 | 5 | 6 |
| GHI | JKL | MNO |
+-------+-------+-------+
| 7 | 8 | 9 |
| PQRS | TUV | WXYZ |
+-------+-------+-------+
| * | 0 | # |
| ← | SPACE | → |
+-------+-------+-------+
Comment fonctionne T9
Pour taper un caractère avec T9, vous devez appuyer sur la touche numérique représentant l' n
heure de ce caractère . n
est l'ordre de ce caractère écrit sur cette clé. Les chiffres sont le dernier caractère que vous pouvez saisir pour chaque touche. Par exemple, pour taper, B
j'appuie 2
deux fois ou pour taper, 5
j'appuie 5
quatre fois. Pour finir de taper ce caractère, j'appuie sur #
. *
est simplement un retour arrière. Dans notre version du clavier, il n'y a pas de majuscule.
Exemples d'entrée et de sortie:
8#99999#055#33#999#22#666#2#777#3# → T9 KEYBOARD
Explication:
8
sélectionneT
et#
passe au personnage suivant99999
sélectionner le dernier caractère de la9
clé qui est9
et#
passe au caractère suivant0
insère un espace33
sélectionne le deuxième caractère de la3
clé qui estK
et#
passe au caractère suivant- Etc...
Règles
Votre fonction ou programme doit accepter une chaîne représentant les touches T9. La sortie est le texte résultant de ces touches, comme indiqué ci-dessus.
Il s'agit du golf de code de base, donc le gagnant est le plus court en octets, et les règles / lacunes standard s'appliquent.
T9 KEYBOARD
est complètement faux. Que l'on litT9 JEYBARD
#
si les boutons consécutifs sont de toute façon différents. cela étant dit: sans ce bonus, que devrait-il se passer si #
est omis?