반응형
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>
반응형
'알고리즘 > 프로그래머스 level 3' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 정수 삼각형 (0) | 2021.07.19 |
---|---|
[파이썬🐍] 프로그래머스 : 등굣길 (0) | 2021.07.18 |
[파이썬🐍] 프로그래머스 : 가장 먼 노드 (0) | 2021.06.30 |
[파이썬🐍] 프로그래머스 : 입국심사 (0) | 2021.06.25 |
[파이썬🐍] 프로그래머스 : 베스트앨범 (0) | 2021.06.24 |
댓글