반응형

 

문제

 


코드

# 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다.
# 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요.
# 지뢰는 2차원 배열 board에 1로 표시되어 있고 
# board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다.
def solution(board):
    danger_zone = []
    for i, lst in enumerate(board):
        for j, e in enumerate(lst):
            if e == 1:
                danger_zone.append([i, j])
    
    #print(danger_zone)
    for danger in danger_zone:
        row = danger[0]
        col = danger[1]

        row_add_lst = [1, 0, -1]
        col_add_lst = [1, 0, -1]

        for row_add in row_add_lst:
            row_add = row + row_add
            if row_add >= len(board) or row_add == -1:
                continue
            for col_add in col_add_lst:
                col_add = col + col_add
                if col_add >= len(board[0]) or col_add == -1:
                    continue
                board[row_add][col_add] = 1
                

    answer = 0
    print(board)

    for i, lst in enumerate(board):
        for j, e in enumerate(lst):
            if e == 0:
                answer+=1
    

    
    return answer

 

 

 

 


반응형
복사했습니다!