티스토리 뷰

from collections import deque
n, m = map(int, input().split())
graph = [[] for _ in range(n)]
for i in range(m):
    a, b = map(int, input().split())
    graph[a-1].append(b-1)
    graph[b-1].append(a-1)

d = [0] * n
visited = [0] * n
cnt = 1
queue = deque()
def bfs(start):
    queue.append(start)
    while queue:
        v = queue.popleft()
        for i in graph[v]:
            if visited[i] == 0:
                queue.append(i)
                d[i] = cnt
                visited[i] = 1

for i in range(n):
    if visited[i] == 0:
        bfs(i)
        cnt = cnt + 1

print(cnt-1)

BFS로 풀었다.

BFS의 정석대로 풀었다.

'코딩테스트 대비' 카테고리의 다른 글

[프로그래머스] 등굣길  (0) 2022.03.20
[백준] 2644번 촌수계산  (0) 2022.03.19
[백준] 1026번 보물  (0) 2022.03.18
[백준] 14502번 연구소  (0) 2022.03.18
[백준] 14503번 로봇 청소기  (0) 2022.03.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함