문제링크 :https://programmers.co.kr/learn/courses/30/lessons/43162
문제설명
컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하는 solution 함수
알고리즘
1. DFS를 이용하여 컴포넌트의 갯수를구하면된다 .
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | def solution(n, computers): answer = 0 visited = [] def DFS(start): stack = [start] while stack: n = stack.pop() if n not in visited: visited.append(n) for i in range(len(computers[start])): if computers[n][i]==1 and i not in visited: stack.append(i) for i in range(len(computers)): if i not in visited: DFS(i) answer+=1 return answer | cs |
'파이썬 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 3 진법 뒤집기 (0) | 2021.01.07 |
---|---|
[python] 프로그래머스 - 큰 수 만들기 (0) | 2021.01.07 |
[python] 프로그래머스 - 타겟넘버 (0) | 2020.08.05 |
[python] 프로그래머스 - 소수 찾기 (0) | 2020.08.05 |
[python] 프로그래머스 - H-index (0) | 2020.08.05 |