https://school.programmers.co.kr/learn/courses/30/lessons/43162
문제
백준을 풀면서 자주 나오는 유형인 그래프에서 싸이클 개수를 찾는 문제이다.
BFS를 이용해서 문제없이 풀어주었다.
from collections import deque
def bfs(computer_li, visited, s):
queue = deque([s])
visited[s] = True
while queue:
c = queue.popleft()
for i in range(len(visited)):
if computer_li[c][i] == 1 and visited[i] == False:
queue.append(i)
visited[i] = True
return visited
def solution(n, computers):
answer = 0
visited = [False]*n
queue = deque([])
for i in range(n):
if not visited[i]:
visited = bfs(computers, visited, i)
answer += 1
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스][SQL] 성분으로 구분한 아이스크림 총 주문량 (0) | 2024.06.08 |
---|---|
[프로스래머스][Python] 순위 - 코팩 (0) | 2024.01.15 |
[프로그래머스][Python] 단어 변환 - 코팩 (0) | 2024.01.11 |
[프로그래머스][Python] 게임 맵 최단거리 - 코팩 (0) | 2024.01.11 |
[프로그래머스][Python] 타겟 넘버 - 코팩 (1) | 2024.01.11 |