https://school.programmers.co.kr/learn/courses/30/lessons/120866
def solution(board):
for i in range(len(board)):
for j in range(len(board)):
if board[i][j] == 1:
for k in range(-1, 2):
for l in range(-1, 2):
try:
if board[i+k][j+l] == 0 and i+k!=-1 and j+l!=-1:
board[i+k][j+l] = 2
except:
continue
return sum(b.count(0) for b in board)
import numpy as np
def solution(board):
board = np.array(board)
rows, cols = np.where(board==1)
for r, c in zip(rows, cols):
for i in [-1, 0, 1]:
for j in [-1, 0, 1]:
if r+i==-1 or r+i==len(board) or c+j==-1 or c+j==len(board):
pass
else:
board[r+i, c+j] = 1
return board.flatten().tolist().count(0)
#numpy #where #flatten