Menu
CoddyTech

Word Search

문자 격자 board가 주어집니다. 이 격자는 문자열 목록으로 주어지며, board[r][c]는 r행 c열의 문자입니다. 문자열 word도 주어집니다.

격자에서 word를 추적할 수 있으면 true를 반환하세요. 임의의 셀에서 시작해 매번 현재 셀의 바로 위, 아래, 왼쪽 또는 오른쪽 셀로 이동하여, 방문한 셀의 문자들이 순서대로 word를 이루면 됩니다. 추적 중 같은 셀을 두 번 사용할 수 없습니다. 그렇지 않으면 false를 반환하세요. 문자는 대소문자를 구분하므로 a와 A는 서로 다릅니다.

함수

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
설명
0행 0열의 S에서 시작한 다음 오른쪽으로 가서 T에 도달하고, 아래로 가서 O에 도달한 뒤, 오른쪽으로 가서 두 번째 O에 도달하고, 오른쪽으로 가서 L에 도달한 다음, 아래로 가서 2행 3열의 S에 도달하세요. 이렇게 하면 서로 다른 셀 여섯 개를 지나며, 각 셀은 바로 앞의 셀과 인접해 있습니다.

lock icon제출 시 숨은 테스트 +23개

challenge icon

후속 질문

예 또는 아니요 대신, 보드에 word의 서로 다른 경로가 몇 개 있는지 세어 볼 수 있나요?

코드 초기화
def exist(board, word):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

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

기대값

true