반응형
import java.util.*;
class Solution {
static int digit[][];
static final int INF = 987654321;
public int solution(int n, int[][] results) {
int answer = 0;
digit = new int [n+1][n+1];
for(int i=1;i<=n;i++)
Arrays.fill(digit[i],INF);
for(int[] result : results)
digit[result[0]][result[1]] = 1;
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
if(i==k)
continue;
for(int j=1;j<=n;j++){
if(i==j)
continue;
if(digit[i][j] > digit[i][k] + digit[k][j]){
digit[i][j] = digit[i][k] + digit[k][j];
}
}
}
}
int parent[] = new int[n+1];
int child[] = new int[n+1];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(digit[i][j] != INF){
child[i]++;
parent[j]++;
}
}
}
for(int i=1;i<=n;i++)
if(child[i] + parent[i] == n-1)
answer++;
return answer;
}
}
반응형
'ProgramSoliving' 카테고리의 다른 글
프로그래머스 : 풍선터트리기 (javascript) (0) | 2020.12.31 |
---|---|
프로그래머스 : 입양 시각 구하기(2) (0) | 2020.12.28 |
프로그래머스 : 가장먼노드 (0) | 2020.12.27 |
프로그래머스 : 징검다리 (0) | 2020.12.27 |
프로그래머스 : 단속카메라 (0) | 2020.12.23 |