mikeo_410


辞書検索

 ナンクロには、いろいろな種類があるようですが、「普通のナンクロ」と「黒マス探し」を考えます。
文字列検索の話では、部分一致が出てきますが、ナンクロは文字数が分かっているので検索が容易です。黒マス探しでも、黒マスになりえない連続箇所について検索し、先頭からの部分一致以外はほとんど必要ないと考えます。

 1.「ン」「ー」でない、を探す

よほどのことでないとやりませんが、機械作業で出来るのは「ン」「ー」にならない箇所を探すことです。明らかなのは、左上隅のマスと同じ番号のマスは、「ン」「ー」になりません。
今回作ったプログラムでは、自動的にマークしてみました。ほとんどの場合、最初に「ン」を決めることが出来るようです。
逆に言うと、「何が入るか分からなくても「ン」「ー」ではない」と言う検索条件があると良いと言うことです。

2.黒マスにはならない

黒マス探しの場合は、「黒マスにはならない」マスをマークできます。

3.検索条件の入力

  1. 記号、半角カナは入力エラーとします。
  2. ひらがなはカタカナに変換します。
  3. 促音など小さい文字は、大きな文字に変換します。
  4. 英数は、半角文字に統一します。


4.検索条件1

検索条件を指定する方法ですが、以下のようにしてみました。

  1. 検索条件を示す文字列の各文字は、辞書中の文字列の同じ位置の文字と比較します。
  2. カタカナは、同じカタカナに一致します。
  3. 英数字は、任意の文字と一致します。
    文字列の先頭から処理し、英数字の箇所は辞書中文字で置き換えます。以降、同じ英数字は置き換えたカタカナを示すこととします。
  4. この動作で、英字が小文字の場合、「ン」「ー」を不一致とします。

5.検索条件2

単に辞書から検索するだけでなく、一旦検索した結果を使って、再度検索を行うことが必要です。
この場合は、数字が文字位置を示すのに使われます。

6.例1

検索条件に、
ABCDE
を、指定すると、辞書にある各桁が全て異なる、5文字の文字列全てがヒットします。
検索結果に対して、検索条件
54321
を、適用すると、イツサンカ、カイダンジなど8件ほどが一致しました。
カンサツイ、ジンダイカ(被害が甚大化?)のような、組み替えて出来る語を検索できます。

7.例2

問題中に、以下のような箇所があるとします。(マスに付与されている番号です。)
1,2,2,4
2,4,1,2,5
それぞれを、「辞書から検索」すると218件、357件あります。(それぞれの検索条件は、abbc、abcadです。)
そこで、まず、辞書からabbcを検索します。
次に、検索結果をキーに、2412Aを検索します。
イチダイキ、イチダイジ、トリオトシなど18件ほどになりました。


横浜 不動産 チラシ 印刷 不動産 船橋市 朝霞市 不動産 プリウス