코딩문제풀이/프로그래머스

[Python] 섬 연결하기

코딩하는 포메라니안 2021. 8. 30. 15:10

1. 문제

 

 

 

2. 풀이 과정

def find_p(p, n):
    while p[n] != n: #부모값이 자기 자신이면 root
        n = p[n]
    return n
    
def solution(n, costs):
    answer = 0
    parent = [i for i in range(n)] #부모를 자기 자신으로 초기화
    c = sorted(costs, key = lambda x: x[2])
    
    for i in range(len(c)):
        p1 = find_p(parent, c[i][0])
        p2 = find_p(parent, c[i][1])
        if p1 != p2:
            parent[p2] = p1
            answer += c[i][2]
            
    return answer

'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글

[Python] N으로 표현  (0) 2021.08.30
[Python] 단속카메라  (0) 2021.08.30
[Python] 이중우선순위큐  (0) 2021.08.30
[Python] 디스크 컨트롤  (0) 2021.08.29
[Python] 베스트앨범  (0) 2021.08.29