トラック
/
TypeScript
TypeScript
/
演習
/
アナグラム
アナグラム

アナグラム

初級

はじめに

ガレージセールで、格安の素敵なヴィンテージ・タイプライターを見つけました! わくわくしながら家に帰り、紙を1枚入れて、さっそく打ち始めます。 ところが、出てきた文字を見てわくわくはしぼんでしまいます。単語がすべて文字化けしているのです! たとえば、"post"の代わりに"stop"、"stale"の代わりに"least"と印字されます。 慎重にもう一度試してみますが、今度は"spot"と"slate"が印字されます。 いろいろ試しているうちに、文字が印字される前にランダムな遅延が入り、それで順番がめちゃくちゃになることがわかりました。 こんなに安かった理由が、今ならわかります!

この癖を利用すればアナグラムを作れることに気づきます。アナグラムとは、ある単語の文字を並べ替えてできる別の単語のことです。 この発見に満足したあなたは、その日一日じゅう、何百ものアナグラムを作って過ごします。

説明

対象となる単語が1つと、候補となる単語が1つ以上与えられます。その中から、対象の単語のアナグラムになっている候補を探してください。

アナグラムとは、文字を並べ替えて別の単語を作ったものです。たとえば、"owns"は"snow"のアナグラムです。 ある単語が、それ自身のアナグラムに_なることはありません_。たとえば、"stop"は"stop"のアナグラムではありません。

対象の単語と候補の単語は、1つ以上のASCII英字(A-Zとa-z)でできています。 小文字と大文字は同じものとして扱われます。たとえば、"PoTS"は"sTOp"のアナグラムですが、"StoP"は"sTOp"のアナグラムではありません。 見つけ出す単語は候補の単語の中から選び、大文字・小文字は候補の単語と同じものを使います。

対象の単語が"stone"、候補の単語が"stone"、"tones"、"banana"、"tons"、"notes"、"Seton"のとき、見つけ出すアナグラムは"tones"、"notes"、"Seton"です。

実装

アナグラムはどのような順序で返してもかまいません。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
TypeScript Exercism

アナグラムを始める準備はできましたか?

Exercismに登録すれば、108個の演習、そして本物の人間によるメンタリングとともに、TypeScriptを学んでマスターできます。すべて無料です。