diff --git "a/JHLEE325/202602/23 BOJ G4 \352\260\200\354\236\245 \352\260\200\352\271\214\354\232\264 \352\263\265\355\206\265 \354\241\260\354\203\201.md" "b/JHLEE325/202602/23 BOJ G4 \352\260\200\354\236\245 \352\260\200\352\271\214\354\232\264 \352\263\265\355\206\265 \354\241\260\354\203\201.md" new file mode 100644 index 00000000..eb2b96a5 --- /dev/null +++ "b/JHLEE325/202602/23 BOJ G4 \352\260\200\354\236\245 \352\260\200\352\271\214\354\232\264 \352\263\265\355\206\265 \354\241\260\354\203\201.md" @@ -0,0 +1,43 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int T = Integer.parseInt(br.readLine()); + + while (T-- > 0) { + int N = Integer.parseInt(br.readLine()); + int[] parent = new int[N + 1]; + boolean[] visited = new boolean[N + 1]; + + for (int i = 0; i < N - 1; i++) { + StringTokenizer st = new StringTokenizer(br.readLine()); + int p = Integer.parseInt(st.nextToken()); + int c = Integer.parseInt(st.nextToken()); + parent[c] = p; + } + + StringTokenizer st = new StringTokenizer(br.readLine()); + int nodeA = Integer.parseInt(st.nextToken()); + int nodeB = Integer.parseInt(st.nextToken()); + + int current = nodeA; + while (current != 0) { + visited[current] = true; + current = parent[current]; + } + + current = nodeB; + while (current != 0) { + if (visited[current]) { + System.out.println(current); + break; + } + current = parent[current]; + } + } + } +} +```