"프로그래머스 120866 안전지대"의 두 판 사이의 차이

 
1번째 줄: 1번째 줄:
==개요==
==개요==
{{프로그래머스|레벨=0|페이지=9}}
{{프로그래머스|레벨=0|페이지=9|분류=코딩테스트 입문}}
[[분류: 프로그래머스 입문 캘린더]]
* [[프로그래머스 입문 캘린더]]
* [[프로그래머스 입문 캘린더]]
[[분류: 프로그래머스 입문 캘린더]]
[[분류: 프로그래머스 코딩테스트 입문]]


==C++==
==C++==

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;
}