[프로그래머스 Lv.3] 깊이/너비 우선 탐색(DFS/BFS) - 단어 변환

김민지·2023년 8월 23일
0

✨ 문제 ✨

✨ 정답 ✨

function solution(begin, target, words) {
    var count = 0;
    let visited=[];
    if (words.includes(target)){
        let queue=[[begin, count]];
        while(queue.length){
            let [currentWord, count] = queue.shift();
            if (currentWord === target) {
                return count;
            }
            for (let i=0;i<words.length;i++){
                if (visited.includes(words[i])){
                    continue;
                }
                let different=0;
                for (let j=0;j<words[i].length;j++){
                    if (words[i][j]!==currentWord[j]){
                        different+=1;
                    }                    
                }
                if (different===1){
                    count+=1;
                    queue.push([words[i], count])
                    visited.push(words[i]);
                }
            }

        }  

}
    return count;

}

🧵 참고한 정답지 🧵

💡💡 기억해야 할 점 💡💡

BFS로 이런 것도 할 수 있다니 신기하다.
visited는 빈 배열에서 시작할 수도 있다.

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보