문제링크 : https://programmers.co.kr/learn/courses/30/lessons/49191
class Solution {
public static int solution(int n, int[][] results) {
int answer = 0;
boolean isConnected[][] = new boolean[n+1][n+1];
for(int i=0;i<results.length;i++){
int a = results[i][0];
int b = results[i][1];
isConnected[a][b] = true;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if(isConnected[j][i] && isConnected[i][k]){
isConnected[j][k] = true;
}
}
}
}
for(int i=1;i<=n;i++){
int cnt = 0;
for(int j=1;j<=n;j++){
if(isConnected[i][j] || isConnected[j][i]) cnt++;
}
if(cnt == (n-1)) answer++;
}
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 불량 사용자 / JAVA (0) | 2022.02.18 |
---|---|
[프로그래머스] 보석 쇼핑 / JAVA (0) | 2022.02.18 |
[프로그래머스] 네트워크 / JAVA (0) | 2022.02.18 |
[프로그래머스] 정수 삼각형 / JAVA (0) | 2022.02.18 |
[프로그래머스] 디스크 컨트롤러 / JAVA (0) | 2022.02.18 |