[프로그래머스] 네트워크

yewon Lee·2023년 6월 10일
0


😎코딩테스트 연습>깊이/너비 우선 탐색(DFS/BFS)>네트워크


from collections import deque
def solution(n, computers):
    answer = 0
    graph = []
    for i in range(n):
        line = []
        for j in range(n):
            if computers[i][j] == 1:
                line.append(j)
        graph.append(line)
    visited = [False] * n
    q = deque()
    c = 0
    
    print(graph)
    def bfs(graph, s):
        q.append(s)
        visited[s] = True
        
        while q:
            v = q.popleft()
            print(v, end= ' ')
            for u in graph[v]:
                if not visited[u] and len(graph[u]) != 0:
                    q.append(u)
                    visited[u] = True
            
    for i in range(n):
        if not visited[i]:
            bfs(graph, i)
            c += 1
    return c
profile
시작

0개의 댓글