본문 바로가기

코딩 문제/백준

백준 - 1325번

728x90

 

풀이

( 시간초과로 구글링 검색결과 방법을 찾지 못해 이클립스로 재코딩하였습니다. )

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.StringTokenizer;

 

public class Main {

 

      static ArrayList<Integer>[] list;

 

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

 

            int max = 0, depthCount = 0;

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

            StringTokenizer st = new StringTokenizer(br.readLine());

            int num = Integer.parseInt(st.nextToken());

            int count = Integer.parseInt(st.nextToken());

            list = new ArrayList[num+1];

            int depth[] = new int[num+1];

            for (int i=0; i<=num; i++) {

                  list[i] = new ArrayList<Integer>();

            }

            for(int i=0; i<count; i++) {

                  st = new StringTokenizer(br.readLine());

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

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

                  list[b].add(a);

            }

            for (int i=1; i<=num; i++) {

                  if(list[i].size() != 0) {

                        depthCount = Find(i);

                  }else {

                        depthCount = 0;

                  }

                  if(depthCount > max) {

                        max = depthCount;

                  }

                  depth[i] = depthCount;

            }

            for(int i=1; i<=num; i++) {

                  if(depth[i] == max) {

                        System.out.print(i + " ");

                  }

            }

      }

 

      private static int Find(int i) {

            int count = 1;

            Iterator<Integer> iter = list[i].listIterator();

            while(iter.hasNext()) {

                  count += Find(iter.next());

            }

            return count;

      }

}

'코딩 문제 > 백준' 카테고리의 다른 글

백준 - 2468번  (0) 2021.03.25
백준 - 2667번  (0) 2021.03.25
백준 - 1303번  (0) 2021.03.16
백준 - 1012번  (0) 2021.03.15
백준 - 7785번  (0) 2021.03.15