[백준] 1717 - 집합의 표현 (Java)
·
Algorithm
문제 파악https://www.acmicpc.net/problem/1717풀이집합을 합치는 행위를 수행하거나, 두 원소가 같은 집합인지 리턴해주기만 하면 된다루트 개념을 가져가면 쉽게 풀이할 수 있다.말로 풀어 설명하자면 부분집합의 대표(루트)를 설정하고, union 시 하나의 대표로 병합해 준다.이전에 풀이한 최소 스패닝 트리 문제와 유사하게 풀이했다. (https://diggingcode.tistory.com/70)이런 경우 대체로 1차원 배열을 선언해서 풀이하는 편이다.초기에는 각 원소들이 부분집합의 대표이므로 배열에 스스로의 인덱스를 할당해준다.이를 탐색 및 union 시 업데이트 해 주도록 하자.재귀적으로 루트를 찾는 함수를 호출하도록 구현하였다.코드import java.io.*;public c..