[SWEA 1248 : JAVA] 공통조상
2021.09.01
1. 문제 SWEA_1248_공통조상 2. 풀이 이 문제는 두 가지를 요구합니다. 이진트리를 구성할 수 있는가? 임의의 두 정점에 대해 최소 공통조상을 구할 수 있는가? 아시다시피 이진트리의 부모노드 인덱스가 N일 때, 왼쪽 자식 인덱스는 2*N이고 오른쪽 자식 인덱스는 2*N+1입니다. 이 특성을 이용해 배열로 이진트리를 많이 구성을 하는데, 이 문제는 입력으로 들어오는 간선의 순서가 무작위인데다가 부모 정점이 자식 정점보다 항상 번호가 작은 것은 아니라는 조건까지 걸려 있습니다. (입력이 이렇게 들어오는게 조금 더 현실적인 거 같긴 합니다.. 😅 ) 따라서, 연결 리스트 형태로 작성해야 합니다. 저는 아래와 같이 부모, 자식 번호를 담을 변수를 둔 Node라는 클래스를 두었습니다. class Node..