Muscardinus
섬 연결하기 본문
728x90
programmers.co.kr/learn/courses/30/lessons/42861?language=javascript
function solution(n, costs) {
let answer = 0;
let isLand = {}; // 섬 정보
let bridge = {}; // 다리 정보
let total = 0; // 지어진 다리 갯수
costs.sort((a, b) => a[2] - b[2]);
isLand[costs[0][0]] = true;
isLand[costs[0][1]] = true;
bridge[0] = true;
answer += costs[0][2];
total += 2;
while (total < n) {
for (let i = 1; i < costs.length; i++) {
let [start, end, cost] = costs[i];
if (!bridge[i] && ((isLand[start] && !isLand[end]) || (!isLand[start] && isLand[end]))) {
isLand[start] = true;
isLand[end] = true;
bridge[i] = true;
answer += cost;
total++;
break;
}
}
}
return answer;
}
728x90
'알고리즘 문제 > [프로그래머스] Lv3' 카테고리의 다른 글
디스크 컨트롤러 (0) | 2021.02.15 |
---|---|
베스트 앨범 (0) | 2021.02.14 |
풍선 터트리기 (0) | 2021.02.12 |
N으로 표현 (0) | 2021.02.12 |
[프로그래머스] 여행경로 (Lv3) (0) | 2020.09.09 |
Comments