🏷 문제
![](https://velog.velcdn.com/images%2Fsorzzzzy%2Fpost%2F34921a90-9443-4eff-b0e7-d27003047e59%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-08-04%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.01.08.png)
💡 코드
from collections import deque
n, m = map(int, input().split())
space = []
for i in range(n):
space.append(list(map(int, input().split())))
case = [[-1,0], [1,0], [0,-1], [0,1], [-1,-1], [-1,1], [1,-1], [1,1]]
INF = 1e9
visited = [[INF for _ in range(m)]for _ in range(n)]
for i in range(n):
for j in range(m):
if space[i][j] == 1:
q = deque()
q.append([i,j,1])
visited[i][j] = 0
while q:
x, y, d = q.popleft()
for c in range(8):
newx = x + case[c][0]
newy = y + case[c][1]
if 0<=newx<n and 0<=newy<m:
if space[newx][newy] == 0 and visited[newx][newy] > d:
q.append([newx,newy,d+1])
visited[newx][newy] = d
max_distance = 0
for i in range(n):
for j in range(m):
if visited[i][j] >= max_distance:
max_distance = visited[i][j]
print(max_distance)
🔑