문제풀이
폭탄 주변을 탐색한다는 점에서 dfs/bfs 느낌 1% 넣은 느낌이었다 실제로 dfs/bfs 문제는 아닌 것 같고
그냥 주변 탐색하는 문제다.
class Solution {
static int[] dirx={0,0,-1,1,1,-1,1,-1};
static int[] diry={-1,1,0,0,1,-1,-1,1};
static boolean[][] visited;
public int solution(int[][] board) {
visited = new boolean[board.length][board.length];
//폭탄이 있는 부분 싹다 조회하고 폭탄 주변을 탐색해서 1로 만들기
for(int i=0;i<board.length;i++){
for(int j=0;j<board.length;j++){
if(board[i][j]==1&&!visited[i][j]){
visited[i][j]=true;
check(i,j,board);
}
}
}
int cnt=0;
for(int i=0;i<board.length;i++){
for(int j=0;j<board.length;j++){
if(visited[i][j]){
cnt++;
}
}
}
int answer =board.length*board.length ;
return answer-cnt;
}
static void check(int x,int y,int[][] board){
for(int k=0;k<8;k++){
int nowx=x+dirx[k];
int nowy=y+diry[k];
if(nowx>=0&&nowy>=0&&nowx<board.length&&nowy<board.length){
if(board[nowx][nowy]==0&&!visited[nowx][nowy]){
visited[nowx][nowy]=true;
}
}
}
}
}'알고리즘 리뷰' 카테고리의 다른 글
| 백준 JAVA 2422 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 리뷰 (0) | 2024.02.17 |
|---|---|
| 백준 JAVA 11725 트리의 부모 찾기 리뷰 (0) | 2024.02.17 |
| 백준 JAVA 5568 카드 놓기 리뷰 (0) | 2024.02.16 |
| 백준 JAVA 3184 양 리뷰 (0) | 2024.02.15 |
| 백준 JAVA 14248 점프 점프 리뷰 (0) | 2024.02.11 |