https://www.acmicpc.net/problem/3584 문제 접근 처음에는 DFS를 통해 자식 노드를 모두 찾으면 해당 노드 번호를 반환하도록 구현했다. 따라서 부모 노드의 자식을 저장하도록 트리를 만들었다. 하지만 결과는... 사실 노드의 갯수가 최대 10000개이기 때문에 메모리 초과가 나올 줄 몰랐다... 고민 끝에 최근 풀었던 Union-Find 문제를 풀었던 기억을 되살려 트리를 만들 때 부모의 자식을 저장하는 것이 아니라 자식의 부모를 저장하도록 하여 문제를 해결하였다. DFS를 이용할 때는 탐색하지 않아도 될 노드를 탐색했는데 트리를 저장하는 방식을 바꾸니까 찾고자 하는 자식의 노드만 탐색하므로 시간 복잡도도 O(logN)으로 해결할 수 있었다. 풀이 과정 문제 풀이 과정을 그림으..