반응형
43163 단어변환
https://programmers.co.kr/learn/courses/30/lessons/43163
코딩테스트 연습 - 단어 변환
두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수
programmers.co.kr
20220318 javascript 풀이
function solution(begin, target, words) {
if(words.find(word => target===word) === undefined) return 0;
const len = target.length;
let q = [begin];
let visited = new Map();
visited.set(begin, 0);
words.forEach(word => visited.set(word, 0));
while(q.length > 0) {
let temp = q.shift();
words.forEach((word, i1) => {
let count = 0;
for(let i2=0; i2<len; i2++) {
if(word[i2] === temp[i2]) count++;
}
if(count === len-1 && visited.get(word) === 0) {
q.push(word);
visited.set(word, visited.get(temp)+1);
}
})
}
return visited.get(target);
}
반응형
'코딩테스트 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 셔틀버스 (0) | 2022.03.17 |
---|---|
[프로그래머스] 고득점 Kit 힙(Heap) (0) | 2022.03.16 |
[프로그래머스] 고득점 Kit 이분탐색 (0) | 2022.03.16 |
[프로그래머스] 고득점 Kit 그래프 (0) | 2022.03.16 |
[프로그래머스] 고득점 Kit 탐욕법(Greedy) (0) | 2022.03.16 |