Search
Duplicate

안전지대

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

def is_valid(r, c, board): return (0 <= r < len(board)) and (0 <= c < len(board[0])) def solution(board): danger = [[0 for _ in range(len(board[0]))] for _ in range(len(board))] directions = [[0, 0], [-1, 0], [-1, 1], [0, 1], [1, 1], [1, 0], [1, -1], [0, -1], [-1, -1]] for r, row in enumerate(board): for c, char in enumerate(row): if char == 1: for dr, dc in directions: if is_valid(r+dr, c+dc, board): danger[r+dr][c+dc] = 1 answer = 0 for row in danger: for char in row: if char == 0: answer += 1 return answer
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges