function solution(begin, target, words) {
if (!words.includes(target)) return 0;
let queue = [[begin, 0]];
let wordAll = new Set(words);
let now = begin;
let answer = 0;
function findSimilar(word1, word2) {
let diff = 0;
for (let i = 0; i < word1.length; i++) {
if (word1[i] !== word2[i])
diff++;
if (diff > 1) return false;
}
return diff === 1;
}
while (queue.length > 0) {
let [current, step] = queue.shift();
if (current === target) return step;
for (let word of wordAll) {
if (findSimilar(current, word)) {
queue.push([word, step + 1]);
wordAll.delete(word); // 방문한 단어는 Set에서 제거
}
}
}
return 0;
}
아직도 이해가 잘 안 된다.........................
'코딩테스트' 카테고리의 다른 글
[프로그래머스 / stack] 과제 진행하기 js javascript (0) | 2024.09.05 |
---|---|
[프로그래머스 / 탐색] 대충 만든 자판 js javascript (0) | 2024.09.03 |
[프로그래머스/정렬] H-index js javascripit 문제가이상해여 (0) | 2024.08.29 |
[프로그래머스/스택 큐] 기능 개발 js javascript (1) | 2024.08.28 |
[프로그래머스/해시] 완주하지 못한 선수 js javascript (1) | 2024.08.28 |