#dfs 풀이 1
graph = []
def solution(n, computers):
global graph
graph = [[] for i in range(n)]
for i in range(n):
for j in range(n):
if i != j and computers[i][j] == 1:
graph[i].append(j)
visited = [False] * n
answer = 0
for i in range(n):
if not visited[i]:
dfs(visited,computers,i)
answer +=1
return answer
def dfs(visited, computers, x):
visited[x] = True
for i in graph[x]:
if not visited[i]:
dfs(visited, computers,i)
#dfs 풀이2
N = 0
def solution(n, computers):
global N
N = n
visited = [False] * n
answer = 0
for i in range(n):
if not visited[i]:
dfs(visited,computers,i)
answer +=1
return answer
def dfs(visited, computers, x):
visited[x] = True
for i in range(0,N):
if computers[x][i] == 1 and not visited[i]:
dfs(visited, computers,i)
728x90
'코테 > 프로그래머스' 카테고리의 다른 글
프로그래머스 전화번호 목록 (0) | 2022.12.28 |
---|---|
프로그래머스 폰켓폰 (0) | 2022.12.28 |
[프로그래머스] [Python] 게임 맵 최단거리 - bfs, dfs (0) | 2022.12.27 |
프로그래머스 타깃 넘버 (0) | 2022.12.27 |
프로그래머스 모음사전 (0) | 2022.12.26 |