백준 31908 커플링 매치 / python

이유참치·2025년 12월 15일

백준

목록 보기
200/248

문제 : 31908

풀이 point

커플링과 관련된 모든 사람들의 이름이 짝수일 때 비로소 커플링이 매치됨을 알 수 있다.

풀이 방법

파이썬의 딕셔너리와 리스트를 통해 커플링과 관련된 사람들의 이름을 적을 수 있다.
예를들면 {ring: [a, b]} 형식으로 가능하다. 모든 입력을 받은 후 커플링과 관련된 사람들의 이름이 짝수일 때만 이름을 정답 리스트에 넣어주고 마지막에 커플링 성사 숫자와 함께 출력한다.

코드

N = int(input())

dict = {}
li = []
ans = 0
for _ in range(N):
    name, ring = input().split()

    if ring == '-': 
        continue

    if ring in dict:
        dict[ring] += [name]
    else:
        dict[ring] = [name]

for ring, names in dict.items():
    if len(names) == 2:
        ans += 1
        li.append(names)

print(ans)

for one, two in li:
    print(one, two)
profile
임아리 - 대학생

0개의 댓글