슈콩

COS PRO 1급 JAVA 꽃피는 봄이 언제 오나요 본문

카테고리 없음

COS PRO 1급 JAVA 꽃피는 봄이 언제 오나요

shukong 2026. 1. 4. 00:08

 

 

[소스 코드]

import java.util.*;

class Main {
    public int[] dr = {-1,1,0,0};
    public int[] dc = {0,0,-1,1};
    public int solution(int n, int[][] garden) {
	int answer = 0;
    Queue<int[]> q = new LinkedList<>();
    boolean[][] visit = new boolean[n][n];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(garden[i][j]==1){
                q.offer(new int[]{i,j});
                visit[i][j] = true;
            }
        }
    }
    while(!q.isEmpty()){
        boolean check = false;
        int size = q.size();
        for(int i=0;i<size;i++){
            int[] curr = q.poll();
            for(int d=0;d<4;d++){
                int nr = curr[0] + dr[d];
                int nc = curr[1] + dc[d];
                if(nr<0 || nr>=n || nc<0 || nc>=n || visit[nr][nc]) continue;
                visit[nr][nc] = true;
                q.offer(new int[]{nr,nc});
                check = true;
            }
        }
        if(check) answer++;
    }
    return answer;
    }
}