20250815 baekjoon
This commit is contained in:
parent
91d33b30f0
commit
9ea135f2b2
56
code_study/Baekjoon/java/_10026.java
Normal file
56
code_study/Baekjoon/java/_10026.java
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class _10026 {
|
||||||
|
|
||||||
|
public static int countAreaBFS(String[] grid, int N){
|
||||||
|
int[] dx = {1,-1,0,0};
|
||||||
|
int[] dy = {0,0,1,-1};
|
||||||
|
Deque<Integer> qx = new ArrayDeque<>();
|
||||||
|
Deque<Integer> qy = new ArrayDeque<>();
|
||||||
|
boolean[][] visited = new boolean[N][N];
|
||||||
|
int countArea = 0;
|
||||||
|
|
||||||
|
for(int i=0; i<N; i++){
|
||||||
|
for(int j=0; j<N; j++){
|
||||||
|
if(!visited[i][j]){
|
||||||
|
visited[i][j] = true;
|
||||||
|
char color = grid[i].charAt(j);
|
||||||
|
qx.add(j);
|
||||||
|
qy.add(i);
|
||||||
|
while(qx.size() != 0 && qy.size() != 0){
|
||||||
|
int cx = qx.poll();
|
||||||
|
int cy = qy.poll();
|
||||||
|
for(int d=0; d<4; d++){
|
||||||
|
int nx = cx + dx[d];
|
||||||
|
int ny = cy + dy[d];
|
||||||
|
if(0<=nx && nx<N && 0<=ny && ny<N && grid[ny].charAt(nx) == color && !visited[ny][nx]){
|
||||||
|
visited[ny][nx] = true;
|
||||||
|
qx.add(nx);
|
||||||
|
qy.add(ny);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
countArea += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return countArea;
|
||||||
|
}
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int N = Integer.parseInt(sc.nextLine());
|
||||||
|
String[] grid_normal = new String[N];
|
||||||
|
String[] grid_blindness = new String[N];
|
||||||
|
for(int i=0; i<N; i++){
|
||||||
|
String line = sc.nextLine();
|
||||||
|
grid_normal[i] = line;
|
||||||
|
grid_blindness[i] = line.replace('R', 'G');
|
||||||
|
}
|
||||||
|
sc.close();
|
||||||
|
|
||||||
|
int areaCount_normal = countAreaBFS(grid_normal, N);
|
||||||
|
int areaCount_blindness = countAreaBFS(grid_blindness, N);
|
||||||
|
|
||||||
|
System.out.println(areaCount_normal + " " + areaCount_blindness);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user