티스토리 뷰

📚 문제

입력

출력

예제 입력

3
Betty Boolean
Alison Addaway
Carrie Carryon
1 B
2 A
3 B
3 A
1 A
2
Helen Clark
Margaret Thatcher
1 B
2 B
2 A
0

예제 출력

1 Alison Addaway
2 Helen Clark

🧑🏻‍💻 풀이 과정

  • 학생 수 n만큼 이름을 입력 받자.
  • 귀걸이를 돌려받은 학생을 파악하기 위해 ring_names를 만들어 인덱스 + 1(a)을 key로 입력 받아 1로 초기화하자.
  • ring_names중복되는 key가 나오면 +1를 해서 2로 만들어두자. (ring_names[a] = ring_names.get(a, 0) + 1)
  • 귀걸이를 돌려받지 못한 학생은 value가 1일 것이므로, ring_names를 반복하며 value가 1인 학생을 찾아 반환하자.
def ring(n):
    names = [input() for _ in range(n)]
    ring_names = {}
    for _ in range(2 * n - 1):
        a, b = list(map(str, input().split()))
        # 인덱스 + 1(a)을 key로 입력 받아 1로 초기화
        # 중복되는 key가 나오면 +1를 해서 2로
        ring_names[a] = ring_names.get(a, 0) + 1

    # 귀걸이를 돌려받은 학생은 value = 2
    # 돌려받지 못한 학생은 value = 1
    for key, val in ring_names.items():
        if val == 1:
            return names[int(key) - 1]


ans = []
cnt = 1
while True:
    n = int(input())
    if n == 0: break
    print(cnt, ring(n))
    cnt += 1
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함