[Python] 백준 5567번 - 결혼식

유빈·2024년 12월 3일
0

Algorithms

목록 보기
11/35
post-thumbnail

🔗 문제 링크

백준 5567번: 결혼식👰🏻🤵🏻



⏰ 소요된 시간

30분



🛡️ 난이도

실버2



✨ 수도 코드


from collections import deque
input = open(0).readline

num = int(input())
length = int(input())
friendship = [[] for _ in range(num+1)]
visited = [0 for _ in range(num+1)]
q = deque([(1, 0)])
cnt = 1

for n in range(length):
    a, b = map(int, input().split())
    friendship[a].append(b)
    friendship[b].append(a)

def bfs(visited, cnt):
    while q:
        friend = q.popleft()
        f, c = friend[0], friend[1]
        if not visited[f] and c <= 2:
            visited[f] = 1
            for i in friendship[f]:
                q.append((i, c+1))

bfs(visited, cnt)
print(sum(visited)-1)

튜플 형식으로 (친구 번호, 친구관계 깊이)를 큐에 저장하고, 친구관계 깊이가 3보다 작은 경우만 결혼식에 가는 것으로 판단하여 로직을 작성하였다.

profile
🌱

0개의 댓글