728x90
반응형
- idea..
1. 나랑 붙어 있는 모든 0 찾기.
2. 찾기가 끝나면, 얼음 수 1개 늘리기?
3. DFS
n,m = map(int,input().split())
graph = []
for i in range(n):
graph.append ( list(map(int,input())))
# 나랑 연결된 노드들을 모두 방문하는 dfs 함수 만들기
def dfs(x, y):
if x <0 or y < 0 or x >=n or y >=m :
return False
if graph[x][y] == 0 : # 아직 방문되지 않은 노드라면,
graph[x][y] = 1 # 방문처리
dfs(x-1,y)
dfs(x+1,y)
dfs(x,y-1)
dfs(x,y+1)
return True
return False
cnt= 0
for x in range(n):
for y in range(m):
if dfs(x,y) == True: # 한 번 True를 뱉고, 함수 내부에서 연결된 모든 노드에 대한 처리가 끝난다.
cnt += 1
print(cnt )
728x90
반응형
'알고리즘 > 이것이 취업을 위한 코딩테스트다' 카테고리의 다른 글
#1929: 소수 구하기 (0) | 2020.10.10 |
---|---|
3. DFS/BFS - 미로 탈출 (0) | 2020.09.20 |
08-4. 바닥공사 (0) | 2020.09.10 |
08-3. 개미전사 (0) | 2020.09.10 |
08-2. 1로 만들기 (0) | 2020.09.10 |