본문 바로가기

알고리즘 테스트

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

언어: python3

문제유형: DFS/BFS

 

문제 출처 - https://programmers.co.kr/learn/courses/30/lessons/43162

 

 

내가 푼 답안

import collections


def solution(n, computers):
    answer = 0
    visited = []

    def connect(start):
        queue = collections.deque()
        queue.append(start)

        while queue:
            num = queue.popleft()
            visited.append(num)
            queue += [i for i, c in enumerate(computers[num]) if c == 1 and i not in visited]

    for com in range(n):
        if com not in visited:
            answer += 1
            connect(com)

    return answer