スペインでは、現在のナンバープレートには次のパターンがあります。
1234 XYZ
ここで、XYZはスペイン語の子音の完全なセットから取られた3つの子音です(「Ñ」を除く)。
時々、妻と旅行するとき、私たちはゲームをするのに使います。ナンバープレートが表示されたら、3つの子音を取得し、これら3つの子音を含む単語を作成して、ナンバープレートと同じ順序で表示します。例(スペイン語):
BCD
BoCaDo (valid)
CaBezaDa (not valid)
FTL
FaTaL (valid)
FLeTar (not valid)
FTR
FleTaR (valid, wins)
caFeTeRa (valid, loses)
最後の例でわかるように、勝者は最も少ない文字数を使用した人です。
チャレンジ
単語のリストと3つの子音のセットを受け取り、3つの子音を同じ順序で含むリスト内の最短の単語を見つける最短のプログラムまたは関数を作成します。このゲームでは、大文字と小文字は区別されません。
- 単語リストの入力(最初のパラメーター)は、言語
string
タイプの配列になります。2番目のパラメーター(3つの子音)はanotherになりstring
ます。ご使用の言語に適している場合string
は、3つの子音でパラメーターのリスト全体の最後の項目を検討してください。出力は別のものになりstring
ます。 - 単語リスト内の単語は、発明された単語や無限の単語ではなく、標準の辞書にある単語になります。制限が必要な場合は、単語リストに50文字を超える単語がないと仮定します。
- 有効な答えになる可能性のある同じ長さの単語が複数ある場合は、それらのいずれかを返すことができます。必ず1つの単語を返すか、3つの子音のパターンに一致する単語がない場合は空の文字列を返すようにしてください。
- グループ内で子音を繰り返すことができるため、3つの子音の有効な入力は両方
FLR
とGGG
です。 - スペイン語の子音は英語とまったく同じですが、「Ñ」が追加されています。母音は、強調された母音の追加と同じです: "áéíóúüü"。「-」や「 '」など、他の種類のマークはありません。
- 単語リストと3つの子音の両方で大文字と小文字が常に同じであると仮定できます。
スペイン語の単語の実際のコレクションを使用してアルゴリズムをテストする場合は、100万を超える単語を含むファイル(15.9 MB)をDropboxからダウンロードできます。
テストケース
Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'}
Output: 'repasar'
Input: 'dsd', {'dedos' 'deseado' 'desde' 'sedado'}
Output: 'desde'
Input: 'hst', {'hastío' 'chest'}
Output: 'chest'
これはcode-golfなので、妻を常に倒すのに役立つ最短のプログラムが勝ちます!:)