매일 C++ day 10 / 단속카메라
2021-06-01
단속카메라
https://programmers.co.kr/learn/courses/30/lessons/42884?language=cpp
1) 출발 지점이 빠른 순으로 정렬한다
2)
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(vector<int> a, vector<int> b)
{
return a[2] < b[2];
}
int find_parent(int parent[], int n)
{
if (parent[n] == n) return n;
return find_parent(parent, parent[n]);
}
int solution(int n, vector<vector<int>> costs)
{
int answer = 0;
int parent[n];
for(int i=0; i<n; i++)
parent[i] = i;
sort(costs.begin(),costs.end(), cmp);
for(auto it:costs)
{
int a=find_parent(parent, it[0]), b=find_parent(parent, it[1]);
if(a!=b)
{
a<b ? parent[b]=a : parent[a]=b;
answer += it[2];
}
}
return answer;
}