음료수 얼려먹기
책 '이것이 취업을 위한 코딩테스트다'에 있는 문제입니다.
00000111100000로 입력받는거를 list형으로 저장하려면, list(map(int,input()))이런식으로 받아야한다. DFS,BFS 둘중 뭘로 풀어야 좋은지 아직 모르겠다.
m,n = map(int,input().split())
graph = [[0 for _ in range(m)] for _ in range(n)]
for i in range(n):
graph[i] = list(map(int,input()))
def dfs(x,y):
if x<=-1 or x>=n or y<= -1 or y>=m:
return False
if graph[y][x]==0:
graph[y][x]=2
dfs(x-1,y)
dfs(x+1,y)
dfs(x,y-1)
dfs(x,y+1)
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)
Author And Source
이 문제에 관하여(음료수 얼려먹기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@quokka/음료수-얼려먹기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)