Menu
CoddyTech

Word Search

文字のグリッド board と、文字列のリストが与えられます。board[r][c] は行 r、列 c の文字を表し、さらに文字列 word が与えられます。

word をたどれる場合は true を返します。任意のセルから開始し、毎回、上、下、左、または右のセルへ移動して、訪れたセルの文字が順番に word を綴るようにします。同じセルを2回使うことはできません。それ以外の場合は false を返します。大文字と小文字は区別されます。

関数

exist(board: string-array, word: string) → boolean
boardstring-array
グリッド。各行に文字列が1つ
wordstring
traceするという語
戻り値boolean
単語を、隣接するセルをたどって見つけられるかどうか(各セルは1回までしか使用できない)

制約

  • 1 ≤ board.length ≤ 6
  • 1 ≤ board[i].length ≤ 6であり、すべての行の長さは同じです。
  • 1 ≤ word.length ≤ 20
  • boardとwordには、大文字と小文字の英字のみが含まれています。

例

入力
board = ["STAR", "POOL", "ENDS"]word = "STOOLS"
出力
true
説明
左上のSから始め、右に進んでTへ、下に進んでOへ、右に進んでOとLへ進み、Lの下にあるSまで下に進みます。同じマスは繰り返しません。
challenge icon

発展問題

はい/いいえではなく、ボード上でwordを作る異なる経路がいくつあるか数えられますか?

コードをリセット
def exist(board, word):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

board = ["STAR", "POOL", "ENDS"]
word = "STOOLS"

期待される出力

true