관리 메뉴

JIE0025

[DFS][lv.3] 네트워크 - 파이썬(Python) 본문

알고리즘/프로그래머스

[DFS][lv.3] 네트워크 - 파이썬(Python)

Kangjieun11 2023. 10. 21. 20:10
728x90

 

✅ 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/43162
 
 
 
 
예전에 자바로 풀었던 적이 있는데 이번엔 파이썬으로 간단하게 풀었다. (DFS 간단한 복습용)
https://jie0025.tistory.com/303

[고득점kit][DFS][lv.3] 네트워크 - 자바(Java)

프로그래머스 > 코딩테스트 연습 > 코딩테스트 고득점kit > 깊이/너비 우선 탐색(DFS/BFS) > 네트워크 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 문제 문제 설명 네트워크란 컴퓨터

jie0025.tistory.com

 
 

✅ 정답 코드

 

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

def dfs(x, computers, visited, n):
    visited[x] = True
    
    for i in range(n):
        if (x == i) :
            continue
            
        if computers[x][i] == 1 and not visited[i]:
            dfs(i, computers, visited, n)
            
    return