SE(たぶん)の雑感記

一応SEやっている筆者の思ったことを書き連ねます。会計学もやってたので、両方を生かした記事を書きたいと考えています。 でもテーマが定まってない感がすごい。

CodeKataで遊ぶ Kata06: Anagrams

CodeKataやってみた記事、第六弾です。

今回は、Kata06: Anagramsをやっていきます。

codekata.com

今回は短いです。

嘘です。普通に長くなりました。

概要

やるべきことを一言で言います。アナグラムになっている文字列を見つけるです。

アナグラムとは、下記のWikipediaの通り、文字を並び替えて別の言葉を作る、遊びみたいなもののことです。

アナグラム - Wikipedia

問題文によると、イギリスのクロスワードは、ヒントに言葉の意味と、言葉遊びとかのアナグラムが含まれるそうです。

…有益な情報はこれだけです。他の問題に比べて短い。

やりたいこと

単語を一行ずつ格納しているファイルがあるので、アナグラムとなっている単語を見つけて出力する、というものです。

テキストファイルの中には、338,882行のテキスト = 単語が入っており、20,683のペアが見つかるはず、とのことです。

あとは、以下二つも出してね、とのことです。

目的

アルゴリズムについて考える必要があります。

ただし、単純な仕組みにすると、膨大な時間がかかる場合が考えられるので、その場合は代替案を用意しましょう。

あと、よければテストコードつくりましょう、とのこと。




いつものように、続きは一応隠します。(直接見ると隠れません)

続きを読む