알고리즘/프로그래머스 level 3
[파이썬🐍] 프로그래머스 : 네트워크
코딩개미뚠뚠
2021. 7. 17. 21:55
반응형
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>
반응형