몸과 마음이 건전한 SW 개발자

백준 SILVER 2 [11724번] 연결 요소의 개수 {언어 : Python} 본문

알고리즘

백준 SILVER 2 [11724번] 연결 요소의 개수 {언어 : Python}

스위태니 2024. 6. 2. 18:30

문제 링크

https://www.acmicpc.net/problem/11724

 

정답 코드

import sys
from collections import deque

input = sys.stdin.readline
n, m = map(int, input().split(" "))
adjL = [[] for _ in range(n+1)]
for i in range(m):
    start, to = map(int, input().split())
    adjL[start].append(to)
    adjL[to].append(start)

visited = [0 for _ in range(n+1)]
answer = 0
for j in range(1, n+1):
    if visited[j]:
        continue
    answer += 1
    q = deque([j])
    visited[j] = 1
    while q:
        cj = q.popleft()
        for nj in adjL[cj]:
            if visited[nj]:
                continue
            visited[nj] = 1
            q.append(nj)
print(answer)

풀이 방법

  • 아직 방문하지 않은 노드를 찾고 개수를 더하면 된다.

느낀점

  • 오랜만에 풀어서 그런지 sys.stdin.readline을 까먹어서 시간초과가 발생했다.