[백준 11725] 트리의 부모 찾기

2024. 8. 30. 02:35·Study/Algorithm
728x90

문제

https://www.acmicpc.net/problem/11725


접근

  • 인접 리스트로 트리 생성
  • DFS 로 루트 노드 1부터 탐색
    • 탐색 시 해당 노드의 부모를 parents 배열에 기록한다.
    • 노드 탐색 시 다시 부모 노드를 탐색하지 않기 위해 주의!


코드

import java.util.*;
import java.io.*;

public class TreeParent_11725 {
    static List<Integer>[] tree;
    static int[] parents;
    static int N;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());

        tree = new List[N + 1];
        parents = new int[N + 1];

        for (int i = 1; i < N + 1; i++) {
            tree[i] = new ArrayList<>();
        }
        for (int i = 1; i < N; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int node1 = Integer.parseInt(st.nextToken());
            int node2 = Integer.parseInt(st.nextToken());
            tree[node1].add(node2);
            tree[node2].add(node1);
        }

        dfs(1, 0);

        StringBuffer sb = new StringBuffer();
        for (int i = 2; i < N + 1; i++) {
            sb.append(parents[i] + "\n");
        }
        System.out.print(sb.toString());

    }
    // 각 노드를 탐색하면서 자식 노드의 부모를 기록
    static void dfs(int node, int parent) {
        parents[node] = parent;
        for (int child : tree[node]) {
            if (child != parent) {
                dfs(child, node);
            }
        }
    }
}
728x90
반응형
저작자표시 (새창열림)

'Study > Algorithm' 카테고리의 다른 글

[백준 1987] 알파벳  (0) 2024.08.30
[백준 11726] 2*n 타일링  (2) 2024.08.30
[백준 14502] 연구소  (0) 2024.08.27
[백준 1238] 파티  (0) 2024.08.25
[백준 1167] 트리의 지름  (0) 2024.08.23
'Study/Algorithm' 카테고리의 다른 글
  • [백준 1987] 알파벳
  • [백준 11726] 2*n 타일링
  • [백준 14502] 연구소
  • [백준 1238] 파티
pink_salt
pink_salt
유익함을 주는 개발자가 되도록 keep going
  • pink_salt
    KeepGoingForever
    pink_salt
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • Project (7)
      • WEB study (3)
        • WEB(Springboot) (10)
        • Git, GitLab (13)
        • Clean code (1)
        • FrontEnd (3)
      • Study (21)
        • Algorithm (19)
        • 면접 준비 (2)
      • Cloud Computing (2)
        • AWS (2)
      • 프로그래밍 언어 (35)
        • Java (29)
        • Python (0)
        • javascript (6)
      • 운영체제 (0)
        • Linux (0)
      • Database (4)
        • MongoDB (8)
        • SQL (8)
      • 애플리케이션 개발 (1)
        • Android (1)
      • AI (1)
        • Deeplearning (1)
        • machinelearning (0)
      • Daily (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    오블완
    IT교육
    티스토리챌린지
    Git
    무료IT교육
    무료코딩교육
    SW
    개념
    백준
    SWEA
    BFS
    git branch
    python
    Database
    객체지향
    빅오표기법
    spring boot
    코딩강의
    mysql
    dp
    MongoDB
    언어
    codepresso
    코드프레소
    Java
    코딩이러닝
    대외활동
    Query
    자바
    gitlab
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
pink_salt
[백준 11725] 트리의 부모 찾기
상단으로

티스토리툴바