728x90
폭탄 주변을 폭탄 위험 지역으로 바꾼 뒤 안전지역 칸수를 구하는 문제.
1. 폭탄 주변을 폭탄 위험지역으로 바꾸기 위한 함수 만들기.
2. 새로운 board 판을 만들기.
- 기존 보드판 그대로 사용하면 보드판 순회 도중 보드판이 업데이트 되기때문에 문제가 생길 수 있음.
3. board 판을 순회하면서 폭탄을 발견하면 위에 만든 함수 실행.
using System;
public class Solution {
public int solution(int[,] board) {
int answer = 0;
int[,] newBoard = new int[board.GetLength(0), board.GetLength(1)];
for(int i = 0 ; i< board.GetLength(0);i++){
for(int j = 0; j<board.GetLength(1);j++){
if(board[i,j] >0){
ChangeIsBomb(i,j,newBoard);
}
}
}
foreach(int i in newBoard){
if(i == 0){
answer ++;
}
}
return answer;
}
void ChangeIsBomb(int x, int y, int[,] board){
for(int i = x-1; i <= x+1; i++){
for(int j = y-1; j <= y+1; j++){
if(i >= 0 && j >= 0 && i < board.GetLength(0) && j < board.GetLength(1)){
if(board[i,j] == 0){
board[i,j] += 1;
}
}
}
}
}
}
728x90
'제로부터 C# 코딩테스트' 카테고리의 다른 글
프로그래머스 소수 만들기 (0) | 2023.11.29 |
---|---|
프로그래머스 - 정수를 나선형으로 배치하기 (1) | 2023.11.22 |
프로그래머스 - 저주의 숫자 3 (0) | 2023.11.20 |
프로그래머스 - 광물 캐기 (0) | 2023.11.17 |
프로그래머스 - 특이한 정렬 (1) | 2023.11.14 |