오래간만에 BFS문제 입니다. #이 양을 대신하는데 #의 무리가 몇개인지를 맞추면 되는 문제인데요
for문으로 map전부를 돌면서 안 가본 양의 무리들을 세면 되는 문제입니다.
for (int i = 0; i < h; i++) {
for (int j = 0; j < w; j++) {
if (check[i][j] == 0 && arr[i][j] == '#') {
q.add(new Map(i, j));
answer++;
check[i][j] = 1;
}
}
}
while (!q.isEmpty()) {
Map m = q.poll();
for (int d = 0; d < 4; d++) {
int nr = m.x + dr[d];
int nc = m.y + dc[d];
if (nr < 0 || nr >= h || nc < 0
|| nc >= w || arr[nr][nc] == '.'
|| check[nr][nc] == 1)
continue;
check[nr][nc] = 1;
q.offer(new Map(nr, nc));
}
}