Menu
CoddyTech

Word Search

문자 격자 board와 문자열 목록이 주어집니다. 여기서 board[r][c]는 행 r, 열 c에 있는 문자이며, 문자열 word도 주어집니다.

word를 추적할 수 있으면 true를 반환하세요. 임의의 셀에서 시작해 매번 위, 아래, 왼쪽 또는 오른쪽 셀로 이동하여 방문한 셀의 문자를 순서대로 이어 붙였을 때 word가 되어야 하며, 같은 셀을 두 번 사용해서는 안 됩니다. 그렇지 않으면 false를 반환하세요. 문자는 대소문자를 구분합니다.

함수

exist(board: string-array, word: string) → boolean
boardstring-array
격자, 행마다 하나의 문자 문자열
wordstring
추적할 단어
반환값boolean
단어를 인접한 셀을 따라 추적할 수 있는지 여부(각 셀은 최대 한 번만 사용)

제약 조건

  • 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