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

일단 해볼게·2023년 2월 13일
0

프로그래머스

목록 보기
34/106

https://school.programmers.co.kr/learn/courses/30/lessons/43162

from collections import deque
def solution(n, computers):
    visited = [0 for _ in range(n)]
    answer = 0
    
    def bfs(start):
        visited[start] = True
        q = deque([(start)])
        
        while q:
            now = q.popleft()
            visited[now] = True
            
            for i in range(len(computers[now])):
                if not visited[i] and computers[now][i]:
                    q.append(i)
    
    for i in range(n):
        if not visited[i]: # visited가 False만 체크
            bfs(i) # bfs로 연결된 네트워크 체크
            answer += 1
                    
    return answer

bfs / dfs로 둘 다 풀 수 있다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글