문제링크

문제풀이


function neighbor(x,y){
    let count=0;
    for(let i=0;i<x.length;i++){
        if(x[i]===y[i]){
            count++;
        }
    }
    if(count===x.length-1){
        return true;
    }else{
        return false;
    }
}
function solution(begin, target, words) {
    words.unshift(begin);
    let ch=Array(words.length).fill(0);
    let dis=Array(words.length).fill(0);
    ch[0]=1;
    let queue=[begin];
    while(queue.length){
        let word=queue.shift();
        if(word===target) return dis[words.indexOf(word)];
        for(let i=0;i<words.length;i++){
            if(neighbor(word,words[i])&&!ch[i]){
                queue.push(words[i]);
                dis[i]=dis[words.indexOf(word)]+1;
                ch[i]=1;
            }
        }
    }
    return 0;
}
profile
코딩 잘하고 싶음..

0개의 댓글

관련 채용 정보