Skip to content

Commit 558c154

Browse files
committed
[leet] word ladder (hard)
1 parent 1c9d358 commit 558c154

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

허현빈/5주차/260129-1.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
* @param {string} beginWord
3+
* @param {string} endWord
4+
* @param {string[]} wordList
5+
* @return {number}
6+
*/
7+
var ladderLength = function (beginWord, endWord, wordList) {
8+
const bkArr = [];
9+
const visit = Array.from({ length: wordList.length }).fill(false);
10+
let ans = Infinity;
11+
const bk = (k, word) => {
12+
if (word === endWord) {
13+
ans = Math.min(ans, k);
14+
return;
15+
}
16+
for (let i = 0; i < wordList.length; i++) {
17+
let count = 0;
18+
let flag = true;
19+
for (let j = 0; j < wordList[i].length; j++) {
20+
if (word[j] !== wordList[i][j]) {
21+
count++;
22+
if (count === 2) {
23+
flag = false;
24+
break;
25+
}
26+
}
27+
}
28+
if (visit[i] === false && flag) {
29+
visit[i] = true;
30+
bk(k + 1, wordList[i]);
31+
visit[i] = false;
32+
}
33+
}
34+
};
35+
bk(1, beginWord);
36+
if (ans === Infinity) return 0;
37+
return ans;
38+
};
39+
//시간복잡도 터짐 실패

0 commit comments

Comments
 (0)