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' nheure de ce caractère . nest 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, Bj'appuie 2deux fois ou pour taper, 5j'appuie 5quatre 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:
8sélectionneTet#passe au personnage suivant99999sélectionner le dernier caractère de la9clé qui est9et#passe au caractère suivant0insère un espace33sélectionne le deuxième caractère de la3clé qui estKet#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 KEYBOARDest 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?