昨日、特定の単語検索をくまなく調べて答えを出力するプログラムを書くことができるかどうか疑問に思いました。実際、驚くほど簡単でした。今、私たちはどれだけ小さくできるのだろうか。
ルール
- 最初の入力は、n行の文字列またはコレクションであり、各行はn文字の長さです
- 2番目の入力は、パズルで見つけるための任意の形式の単語のリストです
- 検索リスト内のすべての単語はパズルに含まれていることが保証されています
- 単語は、4つの基本方向のいずれか、および前方と後方の両方に斜めに向けることができます。
- 大文字のAZ文字のみがパズルに存在します
- コードは、検索文字列内のすべての単語を検索し、開始文字の座標位置を出力する必要があります。0,0は左上の文字です。
- 同じ単語の複数のインスタンスを見つけた場合は、好きなように処理できます。複数回、または一度だけ出力します。それはあなた次第です
例/テストケース
次のボードを考えます:
ABCD
EFGH
IJKL
MNOP
そして、次の検索文字列:
ABCD,CGKO,POMN,NJF,AFKP,CFI,LGB,MJGD
プログラムは、次の順序で出力します。
ABCD at 0,0
CGKO at 0,2
PONM at 3,3
NJF at 3,1
AFKP at 0,0
CFI at 0,2
LGB at 2,3
MJGD at 3,0
いつものように、最短回答が勝ちます
6
PPCGへようこそ!素敵な最初の挑戦!
—
AdmBorkBork
同様に、唯一の本当の違いは、出力に場所を含めることです。
—
FryAmTheEggman
@ NL628はい、すべての検索語がパズルに含まれることが保証されています。複数のオカレンスがある場合は、両方を出力するか、2番目を無視することができます。それはユーザー次第です。
—
morpen
@JonathanAllan素晴らしいアイデア。あなたの提案通りに更新します。
—
morpen
@RickHitchcockはい、そうする必要があります:)
—
morpen