Introduciton
Certains d'entre vous ont peut-être réalisé que je suis un typer bâclé lorsque j'utilise mon téléphone. C'est pourquoi je veux que vous écriviez un programme qui corrige mes fautes de frappe.
Chalkrnge
Étant donné un mot mal orthographié, affichez tous les mots possibles que je voulais écrire.
Typso
La principale cause de mes fautes de frappe est due au fait que j'ai frappé les mauvaises clés et souvent la clé à côté. Voici ma disposition de clavier:
q w e r t y u i o p
a s d f g h j k l
z x c v b n m
, [ space ] .
Notez que la rangée du bas , [ space ] .
ne sera jamais utilisée dans ce défi
Pour une raison quelconque, je ne fais que des erreurs horizontalement: je ne toucherais jamais le n au lieu du j , mais je pourrais toucher un f au lieu d'un d .
Par exemple, je pourrais finir par épeler le mot bâclé comme:
akioot
Où je suis allé à gauche de chaque touche.
Cependant, n'oubliez pas que je ne ferai pas nécessairement une erreur sur chaque lettre du mot.
Ezsmple
Disons que l'entrée est:
vid
Les possibilités que le mot aurait pu être sont:
vid cid bid
vis cis bis
vif cif bif
vod cod bod
vos cos bos
vof cof bof
vud cud bud
vus cus bus
vuf cuf buf
Parmi ceux-ci, les suivants sont dans le dictionnaire:
cod
cud
bid
bud
bus
Cela devrait donc être votre sortie.
Rulws
Vous ne devez utiliser que le fichier texte trouvé ici comme dictionnaire: http://mieliestronk.com/corncob_lowercase.txt . Vous n'avez pas à compter ce fichier dans le cadre de votre décompte d'octets.
Toutes les entrées seront un seul mot. Vous pouvez afficher votre sortie comme vous le souhaitez (tant qu'il existe une sorte de séparateur).
Supposons qu'avec toutes les entrées, vous trouverez une variante qui se trouve dans le dictionnaire.
Wibninf
Le code le plus court en octets gagne.
""
?Réponses:
Japt,
5047 octetsL'entrée est le mot à corriger et le dictionnaire sous forme de chaîne. Testez-le en ligne! (Remarque: vous devrez coller manuellement le dictionnaire dans la chaîne.)
Comment ça fonctionne
la source
Python 2.7,
161159 octetsversion lisible
la source
.strip() for
.