https://programmers.co.kr/learn/courses/30/lessons/43162
def solution(n, computers):
answer = 0
visit = [0] * n
def dfs(computers, visit, s):
stack = [s]
while stack:
temp = stack.pop()
visit[temp] = 1
for i in range(len(visit)):
if computers[temp][i] == 1 and visit[i] == 0:
stack.append(i)
dfs(computers, visit, i)
s = 0
while 0 in visit:
if visit[s] == 0:
dfs(computers, visit, s)
answer += 1
s += 1
return answer
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
[알고리즘] 프로그래머스 탑 / python (0) | 2020.03.21 |
---|---|
[알고리즘] 프로그래머스 카펫 / python, 완탐 (0) | 2020.03.20 |
[알고리즘] 프로그래머스 실패율 / python (0) | 2020.03.18 |
[알고리즘] 프로그래머스 오픈채팅방 / python (0) | 2020.03.16 |
[알고리즘] 프로그래머스 여행경로 / python (0) | 2020.02.22 |