[이것이코딩테스트다] 음료수 얼려 먹기

[이것이코딩테스트다] 음료수 얼려 먹기

문제

solution.py

# DFS 로 특정 노드를 방문하고 연결된 모든 노드들도 방문 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-1, y) dfs(x, y-1) dfs(x+1, y) dfs(x, y+1) return True return False # N,M 을 공백 기준으로 입력 n,m = map(int, input().split()) # 2차원 리스트 맵 정보 입력 graph = [] for i in range(n): graph.append(list(map(int, input()))) # 모든 노드(위치)에 대하여 음료수 채우기 result = 0 for i in range(n): for j in range(m): # 현재 위치에서 DFS 수행 if dfs(i,j) == True: result += 1 print(result)

from http://kangsu-2ji.tistory.com/53 by ccl(A) rewrite - 2021-11-14 23:26:24