[프로그래머스] 섬 연결하기

awmaker·2021년 7월 25일

Algorithm

목록 보기
9/9
post-thumbnail

[프로그래머스] 섬 연결하기

const solution = (n, costs) => {
    let parent = new Array(n).fill(true).map((_, idx) => idx)
    let answer = 0
    // 비용기준 오름차순 정렬
    costs.sort((a, b) => a[2] - b[2])
    for (let bridge of costs) {
        if (parent[bridge[0]] === parent[bridge[1]]) {
            continue
        }
        if (bridge[0] > bridge[1]) {
            parent = parent.map((_) => {
                if (_ === parent[bridge[0]]) return parent[bridge[1]]
                return _
            })
        } else {
            parent = parent.map((_) => {
                if (_ === parent[bridge[1]]) return parent[bridge[0]]
                return _
            })
        }
        answer += bridge[2]
    }
    return answer
}
profile
From design to DevOps with frontend and backend.

0개의 댓글