https://school.programmers.co.kr/learn/courses/30/lessons/86971
나의풀이
import java.util.*;
class Solution {
static int[][]map;
public int solution(int n, int[][] wires) {
int answer = n;
map = new int[n+1][n+1];
for(int i = 0;i<wires.length; i++){
int a = wires[i][0];
int b = wires[i][1];
map[a][b] = 1;
map[b][a] = 1;
}
for(int i = 0;i<wires.length; i++){
int a = wires[i][0];
int b = wires[i][1];
map[a][b] = 0;
map[b][a] = 0;
answer = Math.min(answer, bfs(n, i+1));
map[a][b] = 1;
map[b][a] = 1;
}
return answer;
}
private int bfs(int n, int start){
int cnt = 1;
Queue<Integer>que = new LinkedList<>();
boolean[] check = new boolean[n+1];
que.add(start);
check[start] = true;
while(!que.isEmpty()){
int now = que.poll();
for(int i = 1; i<=n; i++){
if(map[now][i]==1 && !check[i]){
que.add(i);
check[i] = true;
cnt++;
}
}
}
return (int)Math.abs(n-2*cnt);
}
}
'코테풀이' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리 java (LEVEL2) (0) | 2023.04.30 |
---|---|
[프로그래머스] 피로도 java (LEVEL2) (0) | 2023.04.30 |
[프로그래머스] 모음사전 java 자바 (LEVEL2) (0) | 2023.04.30 |
[프로그래머스] 전화번호 목록 java 자바 (LEVEL2) (0) | 2023.04.30 |
[프로그래머스] 의상 java 자바(LEVEL2) (0) | 2023.04.30 |