11725. 트리의 부모 찾기 (Java)

2023. 11. 12. 22:47·Algorithm & Data Structures/BOJ

문제가 이해 되지 않아 꽤 힘들었던 문제

말그대로 2번 노드부터 N번 노드까지의 부모를 구하라는 문제였다.

DFS를 사용하면 금방 쉽게 풀수 있으나 System.out 보다 StringBuilder를 사용하는것을 추천한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {

    static int N;
    static ArrayList<Integer>[] list;
    static int[] answer;
    static boolean[] isVisited;

    static void DFS(int s){
        for (int e:list[s]){
            if(isVisited[e]) continue;
            else {
                isVisited[e] = true;
                answer[e] = s;
                DFS(e);
            }
        }
    }

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        N = Integer.parseInt(br.readLine());
        answer = new int[N+1];
        isVisited= new boolean[N+1];
        isVisited[1]= true;
        list = new ArrayList[N+1];

        for(int i = 1 ; i <= N ; i++){
            list[i]=new ArrayList<>();
        }
        for(int i = 0; i < N-1; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());

            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());

            list[a].add(b);
            list[b].add(a);
        }
        DFS(1);
        for(int i = 2 ; i <= N ; i++){
            sb.append(answer[i]+"\n");
        }
        System.out.println(sb);
    }
}

'Algorithm & Data Structures > BOJ' 카테고리의 다른 글

2638. 치즈 (Java)  (0) 2023.11.14
1167. 트리의 지름 (Java)  (1) 2023.11.13
1967. 트리의 지름 (Java)  (0) 2023.11.09
2665. 미로만들기 (Java)  (0) 2023.11.08
11779. 최소비용 구하기2 (Java)  (0) 2023.11.07
'Algorithm & Data Structures/BOJ' 카테고리의 다른 글
  • 2638. 치즈 (Java)
  • 1167. 트리의 지름 (Java)
  • 1967. 트리의 지름 (Java)
  • 2665. 미로만들기 (Java)
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (316) N
      • Algorithm & Data Structures (238) N
        • BOJ (96) N
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (25)
        • SQL (19)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BFS
    Dijkstra
    dp
    DynamicProgramming
    다익스트라
    PriorityQueue
    후위순회
    유니온파인드
    Union-Find
    경로압축
    동적계획법
    Stack
    dfs
    골드
    스택
    binarySearch
    unionfind
    백트래킹
    programmers
    Java
    이분탐색
    전위순회
    프로그래머스
    baekjoon
    구현
    SQL
    algorithm
    알고리즘
    백준
    투포인터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
11725. 트리의 부모 찾기 (Java)
상단으로

티스토리툴바