diff --git "a/suyeun84/202509/24 PGM LV3 \355\225\251\354\212\271 \355\203\235\354\213\234 \354\232\224\352\270\210.md" "b/suyeun84/202509/24 PGM LV3 \355\225\251\354\212\271 \355\203\235\354\213\234 \354\232\224\352\270\210.md" new file mode 100644 index 00000000..a9305d61 --- /dev/null +++ "b/suyeun84/202509/24 PGM LV3 \355\225\251\354\212\271 \355\203\235\354\213\234 \354\232\224\352\270\210.md" @@ -0,0 +1,29 @@ +```java +import java.util.*; +class Solution { + public int solution(int n, int s, int a, int b, int[][] fares) { + int answer = Integer.MAX_VALUE; + int[][] dist = new int[n+1][n+1]; + for (int i = 1; i <= n; i++) { + Arrays.fill(dist[i], 200*100000+1); + dist[i][i] = 0; + } + for (int i = 0; i < fares.length; i++) { + dist[fares[i][0]][fares[i][1]] = fares[i][2]; + dist[fares[i][1]][fares[i][0]] = fares[i][2]; + } + + for (int k = 1; k <= n; k++) { + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + dist[i][j] = Math.min(dist[i][j], dist[i][k] + dist[k][j]); + } + } + } + for (int i = 1; i <= n; i++) { + answer = Math.min(answer, dist[s][i] + dist[i][a] + dist[i][b]); + } + return answer; + } +} +```