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

(새 문서: ==개요== {{프로그래머스|레벨=0|페이지=9}} ==C++== <syntaxhighlight lang='cpp'> #include <string> #include <vector> using namespace std; int solution(vector<vector<int>...)
 
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
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;
}