✏️ 내가 작성한 코드 - DFS
def dfs(i,n,computers,visit):
visit[i] = True # 제한사항 : computer[i][i]는 항상 1입니다. -> 따라서 일단 방문처리 해야함.
for com in range(n):
if computers[com][i] == 1 and (not visit[com]) : # 방문된 적 없는 연결된 다른 컴퓨터 존재
dfs(com,n,computers,visit)
def solution(n, computers):
network_cnt = 0
visit = [False]*n # 컴퓨터 방문 현황 Fasle로 초기화
for i in range(n):
if visit[i] == False: # 방문하지 않은 컴퓨터
dfs(i,n,computers,visit)
network_cnt += 1
return network_cnt
✏️ 내가 작성한 코드 - BFS
from collections import deque
def bfs(n,i,computers,visit):
q = deque()
q.append(i)
visit[i] = True
while q:
com = q.popleft()
for c in range(n):
if computers[c][com] == 1 and visit[c] == False:
visit[c] = True
q.append(c)
def solution(n, computers):
nexwork_cnt = 0
visit = [False]*n
for i in range(n):
if visit[i] == False:
bfs(n,i,computers,visit)
nexwork_cnt += 1
return nexwork_cnt
✏️ 참고
제한사항 중 computer[i][i]는 항상 1입니다. 이 부분 잘 확인해야 함.
'프로그래머스' 카테고리의 다른 글
[프로그래머스][python] 영어 끝말잇기 문제 (0) | 2023.09.15 |
---|---|
[프로그래머스][python][BFS] 게임 맵 최단거리 문제 (0) | 2023.06.07 |
[프로그래머스][python][깊이/너비 우선 탐색(DFS/BFS)]타겟 넘버 문제 (0) | 2023.04.27 |
[프로그래머스][python][해시]전화번호 목록 문제 (0) | 2023.04.19 |
[프로그래머스][python][해시]완주하지 못한 선수 문제 (0) | 2023.04.19 |