728x90
반응형
링크: https://school.programmers.co.kr/learn/courses/30/lessons/43162
아이디어
- 뭔가 말이 헷갈리긴 하는데 쉽게 보면 그래프 탐색인 듯
- 방문처리 배열 만들고 각 요소마다 bfs를 진행
- bfs가 진행될 때마다 count변수 +1
구현
def solution(n, computers):
global chk
answer = 0
chk = [False]*n
for i in range(n):
if not chk[i]:
chk[i] = True
answer += 1
dfs(i, computers, n)
return answer
#dfs 구현
from collections import deque
def dfs(idx, computers, n):
q = deque()
q.append(idx)
while q:
now = q.popleft()
for i in range(idx+1, n):
# 연결돼있는 노드인지 방문을 했는지 판단
if computers[now][i] == 1 and computers[i][now] == 1 and not chk[i]:
chk[i] = True
q.append(i)
- 와 원트에 성공!
마무리
- 처음에는 문제이해가 좀 걸렸는데 쉬게 생각하니 한없이 쉽게 풀린 문제
- lv.3을 원트에 처음 성공한 문제..
728x90
반응형
'코테준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 숫자 게임 - Python (0) | 2023.09.11 |
---|---|
[프로그래머스] 야근지수 - Python (0) | 2023.09.09 |
[프로그래머스] 여행경로 - Python (DFS) (1) | 2023.08.31 |
[프로그래머스] 이중우선순위큐 (0) | 2023.08.23 |