✨ 공부 기록/알고리즘

[프로그래머스 lv 0] 안전지대 (코딩테스트 입문)

LaonMoon 2025. 3. 4. 20:41
def solution(board):
    answer = 0
    bomb = [[-1,1],[0,1],[1,1],[-1,0],[1,0],[-1,-1],[0,-1],[1,-1]]
    x = len(board[0])
    y = len(board)
    new_board = [[0]*x for _ in range(y)]

    for i in range(x):
        for j in range(y):
            if board[i][j]==1:
                new_board[i][j] = 1
                for idx in bomb:
                    if i+idx[0]>=0 and i+idx[0]<x and j+idx[1]>=0 and j+idx[1]<y:
                        new_board[i+idx[0]][j+idx[1]]=1
    
    for k in range(len(new_board)):
        for l in range(len(new_board[0])):
            if new_board[k][l]==0:
                answer+=1
    
    return answer