백준 5567 결혼식 / python

이유참치·2026년 3월 7일

백준

목록 보기
231/248

문제 : 5567

풀이 point

1058문제와 유사하다. 결혼식의 초대하는 사람 수는 상근이의 동기 + 동기의 친구까지이다. 즉 두번만 탐색하면 된다.

입력 받은 값을 통해 인접리스트를 생성하고,
상근이의 동기들 수 + 상근이 동기들의 친구를 탐색하면서 친구 수를 더해주기만 하면 된다.

풀이 코드

N = int(input())
M = int(input())

graph = [[] for _ in range(N+1)]

for i in range(M):
  a, b = map(int, input().split())
  graph[a].append(b)
  graph[b].append(a)

friends = set(graph[1]) #결혼식에 올 친구들
oneF = graph[1] #상근이 동기

for i in oneF: #상근이 동기들 중
  for j in graph[i]: #상근이 동기들의 친구
    friends.add(j)

if 1 in friends:
  print(len(friends)-1)
else:
  print(len(friends))
profile
임아리 - 대학생

0개의 댓글