프로그래머스 level3 네트워크

Kim Yongbin·2023년 9월 8일
0

코딩테스트

목록 보기
55/162
post-thumbnail

Problem

https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=python3

Solution

def solution(n, computers):
    answer = 0
    visited = [False for _ in range(n)]
    
    for i in range(n):
        if not visited[i]:
            bfs(computers, visited, i)
            answer += 1
                    
    return answer

def bfs(computers, visited, com):
    visited[com] = True
    q = [com]
    while len(q) > 0:
        curr = q.pop()
        visited[curr] = True
        for idx, is_connected in enumerate(computers[curr]):
            if is_connected and idx != curr and not visited[idx]:
                q.append(idx)

연결되어 있는 노드를 BFS를 통해 탐색하였다.

Reference

https://velog.io/@timointhebush/프로그래머스-네트워크-DFS-BFS-Python

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글