프로그래머스 섬 연결하기
-
[프로그래머스 42861] 섬 연결하기Algorithm/Source Code 2022. 3. 22. 16:01
문제 설명 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비용입니다..
-
Kruskal Algorithm 크루스칼 알고리즘 ?!Algorithm/Source Code 2022. 3. 22. 14:12
Kruskal Algorithm 크루스칼 알고리즘은 가장 적은 비용으로 모든 노드를 연결하기 위해 사용하는 알고리즘이다 다시 말해 최소비용 신장트리를 만들기 위한 대표적인 알고리즘 ! 프로그래머스 섬 연결하기 문제를 풀다가 개념을 정리한다 https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 노드와 간선 노드 = 정점 = 도시 를 의미하며 동그라미에 해당하는 부분이고 간선 = 거리 = 비용 을 의미하며 선에 해당하는 부분이다 예시로 살펴보면 아래 그래프는 노드가 4개 간선이 5개 이다 핵심개념 간선을 거리가 짧은..