[프로그래머스] 단어 변환 (javascript)

728x90
반응형

단순 조합 문제~~

function solution(begin, target, words) {
    var answer = 0;
    let vis=new Array(words.length).fill(false);
    function dfs(cur,target,cnt){
        if(cur===target){
            if(answer===0 || cnt<answer){
                answer=cnt;
            }
            return;
        }
        
        for(let i=0;i<words.length;i+=1){
            if(vis[i])continue;
            let diff=0;
            //단어 다른게 1개이면 그 단어로 바꿔본다. 이미 한 번 바꿨던 단어는 pass~
            for(let k=0;k<words[i].length;k+=1){
                if(words[i][k]!==cur[k]){
                    diff+=1;
                }
            }
            if(diff===1){
                vis[i]=true;
                dfs(words[i],target,cnt+1);
                vis[i]=false;
            }     
        }
    }
    dfs(begin,target,0);
    return answer;
}
728x90
반응형
TAGS.

Comments