프로그래머스 120866 안전지대

Jmnote (토론 | 기여)님의 2023년 11월 29일 (수) 01:02 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

프로그래머스 120866 안전지대

2 C++

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<int>> board) {
    int n = board.size();
    for(int i=0; i<n; i++) {
        for(int j=0; j<n; j++) {
            if(board[i][j] == 1) {
                for(int a=max(0, i-1); a<=min(i+1, n-1); a++) {
                    for(int b=max(0, j-1); b<=min(j+1, n-1); b++) {
                        if(board[a][b] == 0) {
                            board[a][b] = 2;
                        }
                    }
                }
            }
        }
    }
    int answer = 0;
    for(int i=0; i<n; i++) {
        for(int j=0; j<n; j++) {
            if(board[i][j] == 0) {
                answer++;
            }
        }
    }
    return answer;
}