본문 바로가기
코딩 테스트/DFS, BFS

음료수 얼려 먹기

by hazel_ 2021. 1. 25.

p.149

 

n,m=map(int, input().split())

graph=[]
for i in range(n):
  graph.append(list(map(int, input())))

def dfs(x,y):
  # 범위를 벗어났을 때
  if x<=-1 or x>=n or y<=-1 or y>=m:
    return False
  
  # 처음 방문한 노드일 때
  if graph[x][y]==0:
    # 해당 노드를 방문처리
    graph[x][y]=1
    # 그래프의 상하좌우 호출
    dfs(x,y-1)
    dfs(x,y+1)
    dfs(x-1,y)
    dfs(x+1,y)
    return True
  return False

result=0
for i in range(n):
  for j in range(m):
    if dfs(i,j) == True:
      result+=1
    
print(result)

'코딩 테스트 > DFS, BFS' 카테고리의 다른 글

연구소  (0) 2021.01.26
특정 거리의 도시 찾기  (0) 2021.01.26
미로 탈출  (0) 2021.01.25
BFS  (0) 2021.01.25
DFS  (0) 2021.01.25

댓글