DataScience trainee

Programmers - 네트워크

네트워크


개요

  • 이번 포스팅은 파이썬 코딩테스트 연습문제 풀이입니다.
  • Programmers 에 공개된 예제이며 링크는 아래와 같습니다.

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


코드

def dfs(nod, visited, computers):
    if nod in visited:
        return 0
    
    visited.append(nod)
    for computer, status in enumerate(computers[nod]):
        if computer != nod and status == 1:
            dfs(computer, visited, computers)
    

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

마치며

이번 포스팅은 Programmers에 존재하는 파이썬 코딩테스트 깊이/너비 우선 탐색(DFS/BFS) 예제 중 레벨 3에 해당하는 문제입니다.