OJ

[BOJ] 1058 친구 (JAVA)

P3PP4 2023. 6. 16. 10:00

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

 

1058번: 친구

지민이는 세계에서 가장 유명한 사람이 누구인지 궁금해졌다. 가장 유명한 사람을 구하는 방법은 각 사람의 2-친구를 구하면 된다. 어떤 사람 A가 또다른 사람 B의 2-친구가 되기 위해선, 두 사람

www.acmicpc.net

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashSet;

public class Main {
	
    public static void main(String[] args) throws Exception {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        ArrayList<Integer>[] list = new ArrayList[N];
        for (int i = 0; i < N; i++) {
            list[i] = new ArrayList<>();
        }
        for (int i = 0; i < N; i++) {
            char[] friend = br.readLine().toCharArray();
            for (int j = 0; j < N; j++) {
                if (i == j) continue;
                if (friend[j] == 'Y') list[i].add(j);
            }
        }

        int max = 0;
        for (int i = 0; i < N; i++) {
            HashSet<Integer> set = new HashSet<>();
            for (Integer f : list[i]) {
                set.add(f);
                for (Integer ff : list[f]) {
                    if (ff != i) set.add(ff);
                }
            }
            max = Math.max(max, set.size());
        }

        System.out.print(max);

    }

}