[pro43162][Level 3] 네트워크

Brie·2023년 11월 10일

코테 연습

목록 보기
3/24

개요

간단한 DFS/BFS 문제이다.
각 노드를 순회하면서 아직 방문하지 않은 경우 answer+=1 해주고, 그 노드와 연결된 노드에 방문 처리를 해주는 방식이다.
이렇게 모든 노드를 돌면 네트워크의 수를 구할 수 있다.

코드

def solution(n, computers):
    visited = [0]*n
    stack = []
    answer = 0
    
    for i in range(n):
        if not visited[i]:
            answer += 1
            visited[i] = 1
            stack.append(i)
            while stack:
                node = stack.pop()
                for j in range(n):
                    if j!=node and not visited[j] and computers[node][j]:
                        stack.append(j)
                        visited[j] = 1
    
    return answer

0개의 댓글