CodeKataやってみた記事、第六弾です。
今回は、Kata06: Anagrams
をやっていきます。
今回は短いです。
嘘です。普通に長くなりました。
概要
やるべきことを一言で言います。アナグラムになっている文字列を見つけるです。
アナグラムとは、下記のWikipediaの通り、文字を並び替えて別の言葉を作る、遊びみたいなもののことです。
問題文によると、イギリスのクロスワードは、ヒントに言葉の意味と、言葉遊びとかのアナグラムが含まれるそうです。
…有益な情報はこれだけです。他の問題に比べて短い。
やりたいこと
単語を一行ずつ格納しているファイルがあるので、アナグラムとなっている単語を見つけて出力する、というものです。
テキストファイルの中には、338,882行のテキスト = 単語が入っており、20,683のペアが見つかるはず、とのことです。
あとは、以下二つも出してね、とのことです。
目的
アルゴリズムについて考える必要があります。
ただし、単純な仕組みにすると、膨大な時間がかかる場合が考えられるので、その場合は代替案を用意しましょう。
あと、よければテストコードつくりましょう、とのこと。
いつものように、続きは一応隠します。(直接見ると隠れません)
続きを読む