-
프로그래머스 - 안전지대제로부터 C# 코딩테스트 2023. 11. 21. 23:38728x90
폭탄 주변을 폭탄 위험 지역으로 바꾼 뒤 안전지역 칸수를 구하는 문제.
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