말랑한 하루
[Programmers] 가장 먼 노드 (Lv 3, JavaScript) 본문
반응형
[ 학습 내용 ]
filter() 내부에 Math연산을 추가하는 경우 상당한 메모리를 잡아먹는다.
[ 소스 코드 ]
function solution(n, edge) {
let answer = 0;
let load = new Array(n);
let temp = n;
while(temp-- > 0) {
load[temp] = new Array();
}
edge.forEach((edge) => {
load[edge[0] -1].push(edge[1] -1);
load[edge[1] -1].push(edge[0] -1);
});
let queue = [{idx: 0, cnt: 0}];
let node = new Array(n).fill(2147483647);
node[0] = 0;
while(queue.length) {
let out = queue.shift();
for(let i=0; i<load[out.idx].length; i++) {
let next = load[out.idx][i];
let ncnt = out.cnt + 1;
if (node[next] > ncnt) {
node[next] = ncnt;
queue.push({idx: next, cnt: ncnt});
}
}
}
let max = Math.max(...node);
return node.filter(n => n === max).length;
}
반응형
'문제풀이 > Programmers' 카테고리의 다른 글
[Programmers] 순위 (Lv 3, JavaScript) (0) | 2022.12.19 |
---|---|
[Programmers] 표 편집 (Lv 3, JavaScript) (0) | 2022.12.18 |
[Programmers] 여행경로 (Lv 3, JavaScript) (0) | 2022.12.16 |
[Programmers] 섬 연결하기 (Lv 3, JavaScript) (0) | 2022.12.14 |
[Programmers] 단속카메라 (Lv 3, JavaScript) (0) | 2022.12.10 |
Comments