링크
프로그래머스 level3 네트워크
처음엔 문제를 대충보고 아 2차원 bfs문제이구나 했는데 틀려서 문제를 다시 살펴봤다.
다시보니 주어지는 2차원 배열은 인접행렬이었다.
모든 컴퓨터를 순회하며 연결되는 것이 있는지 bfs를 통해 탐색해 풀 수 있었다.
from collections import deque
def solution(n, computers):
ans = 0
visit = [0] * (n + 1)
q = deque()
for i in range(n):
if not visit[i]:
ans += 1
visit[i] = 1
q.append(i)
while q:
r = q.popleft()
for c in range(n):
if r == c: continue
if computers[r][c] == 1 and not visit[c]:
visit[c] = 1
q.append(c)
return ans