본문 바로가기
Algorithm

[프로그래머스] 네트워크 파이썬 (BFS)

by YGSEO 2021. 3. 17.
728x90
from collections import deque

def solution(n, computers):
    answer = 0
    bfs = deque()
    visited = [0]*n              
                
    while 0 in visited:	# visited 리스트의 모든 값에 방문 표시가 되어있을 때까지 반복
        bfs.append(0)
        visited[0] = 1
        
        while bfs:
            node = bfs.popleft()
            for i in range(n):
                if visited[i] == 0 and computers[node][i] == 1:
                    bfs.append(i)
                    visited[i] = 1
        answer += 1		# 한 네트워크의 탐색을 마치면 개수 추가 
    return answer

출처: cocojelly.github.io/algorithm/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%97%B0%EC%8A%B5-DFS-BFS-(2)/

 

 

 

 

728x90

댓글