간단한 DFS/BFS 문제이다.
각 노드를 순회하면서 아직 방문하지 않은 경우 answer+=1 해주고, 그 노드와 연결된 노드에 방문 처리를 해주는 방식이다.
이렇게 모든 노드를 돌면 네트워크의 수를 구할 수 있다.
def solution(n, computers):
visited = [0]*n
stack = []
answer = 0
for i in range(n):
if not visited[i]:
answer += 1
visited[i] = 1
stack.append(i)
while stack:
node = stack.pop()
for j in range(n):
if j!=node and not visited[j] and computers[node][j]:
stack.append(j)
visited[j] = 1
return answer