취준/프로그래머스
[프로그래머스 Programmers][Python] 네트워크
puff
2020. 4. 5. 15:49
문제 : https://programmers.co.kr/learn/courses/30/lessons/43162
DFS 문제다.
기본적으로 DFS 싫어하기도 하고, 파이썬에서는 dfs로 잘못풀다가는 스택 제한걸려서 터지는게 다반사라서 BFS로 풀다가 안됨.
DFS를 기본적으로 쓰는거 같길래 보고 써봤다. 풀고나서 보니까 다른사람들은 BFS잘만 쓰더라.
from collections import deque
def dfs(v,c, start,n):
v[start] = True
for i in range(n):
if not v[i] and c[start][i] ==1:
dfs(v,c,i,n)
def solution(n, computers):
answer = 0
visited = [False for _ in range(n)]
for i in range(n):
if not visited[i]:
answer+=1
dfs(visited, computers, i, n)
return answer