Skip to content

Commit 3ff3afb

Browse files
committed
solve: word search
1 parent 918e6da commit 3ff3afb

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

โ€Žword-search/wogha95.jsโ€Ž

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
var exist = function (board, word) {
1111
let result = false;
1212

13+
// 1. 2์ฐจ์› ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ ์ˆœํšŒ
1314
for (let r = 0; r < board.length; r++) {
1415
for (let c = 0; c < board[0].length; c++) {
1516
dfs(r, c, 0);
@@ -19,26 +20,33 @@ var exist = function (board, word) {
1920
return result;
2021

2122
function dfs(row, column, wordIndex) {
23+
// 2. ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์ขŒํ‘œ์ธ์ง€ ๊ฒ€์ฆ
2224
if (!isValid(row, column)) {
2325
return;
2426
}
27+
// 3. word์—์„œ ์ฐพ๊ณ  ์žˆ๋Š” ๋ฌธ์ž์ธ์ง€ ํ™•์ธ
2528
if (board[row][column] !== word[wordIndex]) {
2629
return;
2730
}
31+
// 4. word ๋ฌธ์ž๋ฅผ ๋‹ค ์ฐพ์•˜๋Š”์ง€ ํ™•์ธ
2832
if (wordIndex === word.length - 1) {
2933
result = true;
3034
return;
3135
}
3236

37+
// 5. ๋ฐฉ๋ฌธํ•œ ์ขŒํ‘œ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์น˜๊ธฐ ํ•ด๋‘ 
3338
const temp = board[row][column];
3439
board[row][column] = "#";
40+
// 6. ์ƒํ•˜์ขŒ์šฐ๋กœ ์ขŒํ‘œ ๋ฐฉ๋ฌธ
3541
dfs(row + 1, column, wordIndex + 1);
3642
dfs(row - 1, column, wordIndex + 1);
3743
dfs(row, column + 1, wordIndex + 1);
3844
dfs(row, column - 1, wordIndex + 1);
45+
// 7. ํ•ด๋‹น ์ขŒํ‘œ์˜ ์žฌ๊ท€ ๋ฐฉ๋ฌธ์ด ๋๋‚˜๋ฉด ๋ฏธ๋ฐฉ๋ฌธ์œผ๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์›๋ž˜ ๋ฌธ์ž๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ
3946
board[row][column] = temp;
4047
}
4148

49+
// ์œ ํšจํ•œ ์ขŒํ‘œ์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜
4250
function isValid(row, column) {
4351
if (row < 0 || board.length <= row) {
4452
return false;

0 commit comments

Comments
ย (0)