01
Processing Data. Please Wait...

보글보드

Graphs 고급
30초 미리보기

보글보드

서로 다른 높이와 너비를 가진 2차원 글자 배열과 단어 목록이 제공됩니다. 이 배열을 보글보드라고 합니다.

주어진 단어 목록 중 보글보드에 있는 모든 단어들을 반환하는 함수를 작성합니다. 반환된 단어는 특정 순서일 필요가 없습니다.

보글보드에 있는 한 글자를 두 번 이상 사용하지 않고 인접한 문자(수평, 수직 또는 대각선)를 연결하여 찾아냅니다. 물론 한 문자가 반복할 수 있지만, 그 반복된 문자는 보글보드의 다른 위치에 있어야 합니다.

예제 1

입력

board = [
  ["t", "h", "i", "s", "i", "s", "a"],
  ["s", "i", "m", "p", "l", "e", "x"],
  ["b", "x", "x", "x", "x", "e", "b"],
  ["x", "o", "g", "g", "l", "x", "o"],
  ["x", "x", "x", "D", "T", "r", "a"],
  ["R", "E", "P", "E", "A", "d", "x"],
  ["x", "x", "x", "x", "x", "x", "x"],
  ["c", "x", "t", "R", "W", "+", "C"],
  ["x", "x", "g", "n", "i", "d", "o"]
],
words = [
  "this", "is", "not", "a", "simple", "boggle",
  "board", "test", "REPEATED", "W+Coding",
]

출력

[
  "this", "is", "a", 
  "simple", "boggle", "board", 
  "W+Coding"
]
// 단어의 순서는 다를 수 있습니다.