[프로그래머스] DFS/BFS - 네트워크 (Python)

[프로그래머스] DFS/BFS - 네트워크

풀이 - DFS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def dfs(n, computers, visited, x):
    visited[x] = 1
    for i in range(n):
        if computers[x][i] == 1 and visited[i] == 0:
            dfs(n, computers, visited, i)

def solution(n, computers):
    answer = 0
    visited = [0] * n
    for i in range(n):
        if visited[i] == 0:
            dfs(n, computers, visited, i)
            answer += 1

    return answer
  • n:  컴퓨터 개수
  • computers:  연결에 대한 정보가 담긴 2차원 배열
  • visited:  방문 검사를 위한 배열
  • x:  x번 컴퓨터(현재 방문하고 있는 컴퓨터)