728x90
Programmers
안전지대
문제
코드
- 경로 탐색 형태로 위험지역을 모두 1로 만들기
def solution(board):
count = 0
N = len(board)
# 상하좌우 11 7 1 5
dx = [0, 0, -1, 1, -1, -1, 1, 1]
dy = [-1, 1, 0, 0, -1, 1, -1, 1]
bomb = []
for i in range(N):
for j in range(N):
if board[i][j] == 1:
bomb.append((i, j))
for x, y in bomb:
for k in range(8):
nx = x + dx[k]
ny = y + dy[k]
if 0 <= nx < N and 0 <= ny < N:
board[nx][ny] = 1
for i in range(N):
for j in range(N):
if board[i][j] == 1:
count += 1
return N * N - count
728x90
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 평행 - 파이썬 (0) | 2024.04.17 |
---|---|
[프로그래머스] 외계어 사전 - 파이썬 (0) | 2024.04.16 |
[프로그래머스] 다항식 더하기 - 파이썬 (0) | 2024.04.16 |
[프로그래머스] 저주의 숫자 3 - 파이썬 (0) | 2024.04.16 |
[프로그래머스] 이진수 더하기 - 파이썬 (0) | 2024.04.04 |