正規表現に対応している辞書などを使って今まで解いていたんですが、もっと効率よくやりたかったのでPythonで補助ツールを作りました。ソースコードは以下から見れます。
下準備
-
まずは以下のリンクから辞書をダウンロードします。最新版の「Japanese Wordnet and English WordNet in an sqlite3 database」を選んでください。
-
そして、wordle-helper.pyからダウンロードしたデータベースにアクセスできるようにすれば下準備は完了です。
使い方
このツールは3つの入力を使って候補を絞り込んでいきます。具体的には以下の3つです。
・ 正規表現は?
位置が確定しているもので正規表現を作り一気に絞り込みます。先頭と末尾の正規表現は補完されるので入力しないでください。[.]は任意の一文字に該当します。ですので、緑の情報がない場合は[.....]としてください。
[ex) a...e]→appleなどが候補になります。
・ 黄色は?
黄色の情報でさらに候補を絞り込みます。以下の例を見てください。
[ex) l4 a1]
この例はlが4文字目で黄色であり、aが1文字目で黄色であるという意味です。1~5の数字を入力してください。また、異なるアルファベット間は半角スペースで隙間を開けて入力してください。尚、アルファベットと数字のペアは一対一を想定しているので複数は入力できません。
・ 使わないのは?
ハズレ文字でさらに候補を絞り込みます。 以下の例のようにハズレ文字を並べて書いてください。
[ex) pweral]
・ 補足
「黄色は?」と「使わないのは?」の入力の際、該当する情報がない場合はそのままエンターキーを押してください。また、このツールは3つの入力を無限ループで繰り返し行います。ですので、「黄色は?」と「使わないのは?」の入力に関しては、2回目以降は追加したいものだけを入力すれば良いです。
・ 留意点
そもそもこのツールで使用している辞書にない単語が答えになる可能性もあるので、その際は以下の正規表現に対応している辞書サイトを使って考えるのが良いと思います。
実際に補助ツールを使って解いてみた
Wordle Archive 9を解いて補助ツールの効果を確かめたいと思います。
3手目までの結果
とりあえず自力で3手目までを適当に入力してみました。これだけ情報があれば大分候補は絞れそうです。
補助ツールにこれまでの情報を与えてみる
結果は以下のようになりました。一部同じ候補が2回出ていますが、これは使用している辞書のデータの関係かもしれません。
正規表現は?s....
黄色は?e4 r5
使わないのは?powblackhift
serum
surge
serve
serge
serve
surge
候補の中から答えっぽいのを選ぶ
とりあえずserveを選んでみます。すると、今回は運よく一発で正解することができました。
終わりに
今まで頭の中で行っていた操作を自動でやってくれるのが、この補助ツールの良いところかなと思います。実際にこの記事に載せた問題以外も補助ツールを利用して数問解いてみましたが、自力でやるよりも楽に解くことができました。使ってくださったら嬉しいです。
参考にした記事
以下の記事を参考にさせていただきました。ありがとうございました。
https://qiita.com/insei_99/items/738a6dd08ee5e600972e