풀이 원리 : BFS
BFS 작성 요령
function solution(begin, target, words) {
if (!words.includes(target)) return 0;
const checkWord = (w1, w2, len, cnt) => {
for (let i = 0; i < len; i++) {
if (w1[i] !== w2[i]) cnt++;
if (cnt > 1) return false;
}
return true;
};
let answer = 0;
const len = target.length;
const Q = [begin];
while (Q.length) {
const size = Q.length;
for (let i = 0; i < size; i++) {
const v = Q.shift();
if (v === target) return answer;
for (const w of words) {
if (checkWord(w, v, len, 0)) Q.push(w);
}
}
answer++;
}
}