728x90
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import java.util.*; class Solution { public int solution(int N, int[][] road, int K) { int[][] maps = new int[N+1][N+1]; for(int i=1; i<=N; i++){ for(int j=1; j<=N; j++){ if(i!=j) maps[i][j] = 500001; } } for(int i=0; i<road.length; i++){ int a = road[i][0]; int b = road[i][1]; int distance = road[i][2]; if(distance<maps[a][b]){ maps[a][b] = distance; maps[b][a] = distance; } } for(int k=1; k<=N; k++){ for(int i=1; i<=N; i++){ for(int j=1; j<=N; j++){ if(maps[i][j]>maps[i][k]+maps[k][j]){ maps[i][j] = maps[i][k]+maps[k][j]; } } } } int answer = 0; // for(int i=0; i<maps.length; i++){ // for(int j=0; j<maps[0].length; j++){ // System.out.print(maps[i][j]+" "); // } // System.out.println(); // } for(int j=1; j<=N; j++){ if(maps[1][j]<=K){ answer++; // System.out.println(j); } } return answer; } } | cs |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JAVA] 다리를 지나는 트럭 (큐) (0) | 2022.03.31 |
---|---|
[프로그래머스][JAVA] 위장 (해시, 집합) (0) | 2022.03.27 |
[프로그래머스][JAVA] 괄호 회전하기 (스택, 문자열) (0) | 2022.03.26 |
[프로그래머스][JAVA] 후보키 (비트마스크) (0) | 2022.03.26 |
[프로그래머스][JAVA] 순위 검색 (인덱싱, 이진 탐색, 비트마스크) (0) | 2022.03.26 |