본문 바로가기
알고리즘/프로그래머스 level 3

[파이썬🐍] 프로그래머스 : 네트워크

by 코딩개미뚠뚠 2021. 7. 17.
반응형
def solution(n, computers):
    answer = 0
    visited = [False for i in range(n)]
    for com in range(n):
        if visited[com] == False:
            DFS(n,computers,com,visited)
            answer += 1
    return answer
def DFS(n,computers,com,visited):
    visited[com] = True
    for connect in range(n):
        if connect != com and computers[com][connect] == 1:
            if visited[connect] == False:
                DFS(n,computers, connect, visited)

<DFS>

 

 

def solution(n, computers):
    answer = 0
    visited = [False for i in range(n)]
    for com in range(n):
        if visited[com] == False:
            BFS(n,computers,com,visited)
            answer += 1
    return answer
def BFS(n, computers, com, visited):
    visited[com] = True
    queue = []
    queue.append(com)
    while queue:
        com = queue.pop(0)
        visited[com] = True
        for connect in range(n):
            if connect != com and computers[com][connect] == 1:
                if visited[connect] == False:
                    queue.append(connect)

<BFS>

반응형

댓글