전형적인 Union-Find를 활용하는 문제다. 다만 Cycle이 발생할 수 있기에 이 때(if px == py) false를 반환하는 조건만 추가해주고 Parent가 하나라도 다르다면 Tree가 두 개 이상 생기는 것이기에 false를 반환하면 된다. class Solution: def find(self, p, x): if p[x] == x: return x return self.find(p, p[x]) def union(self, p, x, y): x = self.find(p, x) y = self.find(p, y) if x bool: p = [i f..