Algorithm/DFS&BFS

[์ด์ฝ”ํ…Œ]DFS/BFS/ ์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค๋จน๊ธฐ

์ •ํ˜ธ๋‚˜ 2024. 10. 22. 12:14

๐Ÿ“• ๋ฌธ์ œ

 

 

๐Ÿ“„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ’€์ด

0์—์„œ ์ƒํ•˜์ขŒ์šฐ ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ํƒ์ƒ‰ํ•˜๊ณ  result 1์ฆ๊ฐ€ ์‹œํ‚ค๊ธฐ

 

๐Ÿ’ป ๋‹ต์•ˆ


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 = map(int, input().split())

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

result = 0 

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

print(result)

 

๐Ÿ“ ์ฐธ๊ณ ์ž๋ฃŒ

https://www.youtube.com/watch?v=7C9RgOcvkvo&t=1620s