문제에서 네트워크는 컴퓨터들이 정보를 교환할 수 있도록 연결된 형태를 의미함. 예를 들어, 컴퓨터 A와 B가 연결되고, B와 C가 연결되면, A와 C는 간접적으로 연결된 것을 의미 함. 주어진 컴퓨터의 개수(n)와 각 컴퓨터 간의 연결 정보(computers 2차원 배열)를 바탕으로 네트워크의 총 개수를 반환하는 함수를 작성!
def DFS(computer_num, computers, visited, n):
visited[computer_num] = 1 # 해당 컴퓨터 방문처리
for i in range(n):
if computers[computer_num][i] == 1 and not visited[i]:
DFS(i, computers, visited, n)
# 연결되면 하나의 네트워크
def solution(n, computers):
ans = 0
visited = [0] *n # DFS에서 사용할 방문 체크
# DFS의 시작점이 딱히 정해져 있지 않다... !
for i in range(n):
if not visited[i]:
DFS(i, computers, visited, n)
ans +=1
return ans
📌 고려해야할 점
DFS
로 접근네트워크 1개
형성한 것!