[개발]programmers/Python3

Lv.3_네트워크

dowon 2024. 5. 22. 15:01

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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

def DFS(visited, computer, computers, n):
    visited[computer] = True
    
    for connect in range(n):
        if connect != computer and computers[computer][connect] == 1:
            if visited[connect] == False:
                DFS(visited, connect, computers, n)

 

DFS방법으로 풀었다

 

DFS / BFS 이론은 알고 있지만 실전에 적용하는 것은 다른 어려움인 듯 하다

연습이 많이 필요할 것 같다