작성
·
164
0
안녕하세요 선생님. 항상 질 좋은 강의 감사드립니다. 다름이 아니라 다음과 같이 코드를 작성했는데, 괜찮은 코드인지 여쭤보고 싶습니다. 그리고 강의 코드에서 조건문에 `nv>0 && nv<=10000`와 같이 작성한 코드는 입력으로 주어진 시작지점에서 도착지점을 찾지 못할 때를 방어하려고 작성한건지 궁금합니다.
let s = 5;
let e = 14;
console.log(solution(s, e));
function solution(s, e){
let queue = [];
let visited = Array.from({length: e}, () => 0);
queue.push([s, 0]);
visited[s] = 1;
while (queue.length){
let [v, time] = queue.shift();
if (v === e) return time;
for (let nv of [v+1, v-1, v+5]){
if(!visited[nv] && nv>0 && nv<=10000){
visited[nv]=1;
queue.push([nv, time+1]);
}
}
}
}
답변 1
1
안녕하세요^^
잘하신 코드입니다.
`nv>0 && nv<=10000` 한 이유는 좌표가 1부터 10000까지로 정해져 있기 때문에 범위를 벗어나면 안되서 그렇게 했습니다.
감사합니다. :)