프로그래밍/백준

[파이썬(Python)] 백준 1380 귀걸이

정정훈훈 2024. 7. 2. 19:26
반응형
728x90

백준 1480 귀걸이 실버 5
https://www.acmicpc.net/problem/1380

SMALL

코드

import sys

num = 1
while True:
    no = -1
    
    n = int(sys.stdin.readline())
    if n == 0:
        break

    name_list = [0] * n

    for i in range(n):
        name_list[i] = sys.stdin.readline().rstrip()

    AB_list = [True] * n
    for k in range(2 * n - 1):
        name_AB = list(sys.stdin.readline().split())
        result_name_AB = []
        result_name_AB.append(int(name_AB[0]))
        result_name_AB.append(name_AB[1])
        if AB_list[result_name_AB[0] - 1] == True:
            AB_list[result_name_AB[0] - 1] = False
        else:
            AB_list[result_name_AB[0] - 1] = True

    
    for i in range(n):
        if AB_list[i] == False:
            no = i
    print(num, name_list[no])
    num += 1

1. 출력 형식에 주의하세요.
2. 학생 수만큼 리스트를 할당하세요.
3. 굳이 A, B로 하지 않았고, 2n-1개 숫자와 A/B를 입력할 때,. 입력되는 숫자를 이용했습니다. True로 이루어진 리스트를 선언하고, 숫자가 입력될 경우 False, 숫자가 다시 한 번 입력될 경우 True가 저장되게 했습니다. 

반응형

4. False 상태인 학생이 출력해야 하는 학생입니다.

반응형