def find_parent(x): if p[x] != x: p[x] = find_parent(p[x]) return p[x] find_parent 에서 재귀가 너무 깊어져서 문제가 생겼다sys.setrecursionlimit 으로 늘려줄 수 도 있겠지만 재귀가 아닌 while 을 사용해 부모를 찾아주는 방식으로 변경했다 def find_parent(x): while p[x] != x: p[x] = p[p[x]] x = p[x] return x