보글보드
서로 다른 높이와 너비를 가진 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"
]
// 단어의 순서는 다를 수 있습니다.