728x90
https://school.programmers.co.kr/learn/courses/30/lessons/43162
네트워크 덩어리를 찾을 때마다 dfs가 실행되고 그래프 탐색이 종료되면 그 네트워크 덩어리의 탐색이 끝났다는 것이다.
즉, dfs가 몇번 실행되는지 카운트 해주면 된다.
생각할 점은 인접그래프 형태로 computers 2차원 배열이 주어진다는 것이다.
def solution(n, computers):
answer = 0
visited = [False] * n
def dfs(start):
visited[start] = True
for i in range(n):
if visited[i] == False and computers[start][i] == 1:
dfs(i)
for start in range(n):
if visited[start] == False:
dfs(start)
answer += 1
return answer
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준] 1309 동물원 Python (0) | 2022.11.23 |
---|---|
[백준/Boj] 5557 1학년 Python 풀이 (0) | 2022.11.20 |
[백준] 15724 주지수 python 풀이 (0) | 2022.11.18 |
22856 트리 순회 python 풀이 (0) | 2022.11.16 |
[백준] 2294 동전 2 Python (DP문제) (0) | 2022.11.12 |