
✅ 구현 방식
1. 초기화 : 각 노드가 각각의 집합에 포함되도록 초기화
2. Find : 특정 노드의 부모를 찾음 (해당 노드가 속한 집합의 루트를 반환)
3. Union : 두 노드 A,B를 한쪽으로 합침
✅ 코드 구현
let parent = Array(N+1).fill(-1)
function union(x, y) {
x = find(x);
y = find(y);
if (x != y) {
parent[x] = y;
}
}
function find(x) {
if (parent[x] < 0) return x;
parent[x] = find(parent[x]);
return parent[x];
}