~๋ชฉ์ฐจ~
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/42861
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
- ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ์ต์ ์คํจ๋ ํธ๋ฆฌ ์ฐพ๋๋ค.
- ๊ฐ์ ๋น์ฉ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ฌ ์์๋๋ก ์ฌ์ดํด์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ฐ๊ฒฐํด ๋๊ฐ๋ค
ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ ๊ธ
์์ฑ ์ฝ๋
def solution(n, costs):
def find(x):
if parent[x] != x:
parent[x] = find(parent[x])
return parent[x]
def union(a, b):
a, b = find(a), find(b)
minP, maxP = min(a, b), max(a, b)
parent[maxP] = minP
parent = [i for i in range(n)]
result = 0
costs.sort(key=lambda x: x[2])
for a, b, w in costs:
if find(a) != find(b):
union(a, b)
result += w
return result
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐