백준 11724. 연결 요소의 개수

하얀족제비·2021년 8월 3일
0

접근 방법

  1. 전형적인 DFS문제이다.
  2. 데이터 입력을 양방향으로 받는다.
  3. 일단 한 점에서 시작한다.(시작하면서 방문체크)
  4. 해당 점에서 갈 수 있는 점들을 방문체크 하면서 돈다.
  5. 같은 과정을 반복하면서 카운트를 해준다.

코드

N, M = map(int,input().split())
nodes = [[] for _ in range(N+1)]
chk = [0] * (N+1)
for _ in range(M):
    u, v = map(int,input().split())
    nodes[u].append(v)
    nodes[v].append(u)

res = 0
for n in range(1,N+1):
    if chk[n] == 1: continue
    st = [n]
    chk[n] = 1
    res += 1
    while st:
        w = st.pop()
        for node in nodes[w]:
            if chk[node] == 1: continue
            chk[node] = 1
            st.append(node)

print(res)
profile
안녕하세요~ 개발을 꿈꾸는 하얀족제비입니다!

0개의 댓글