[백준/Python] 11557 - Yangjojang of The Year

orangesnail·2025년 3월 6일

백준

목록 보기
53/169

https://www.acmicpc.net/problem/11557


코드 및 설명

t = int(input())

for _ in range(t):
    n = int(input())
    s_dict = {}

    for _ in range(n):
        s, l = input().split()
        s_dict[s] = int(l)

    max_s = max(s_dict, key=s_dict.get)
    print(max_s)

학교 이름과 소비한 술의 양이 짝으로 주어지고, 술의 양을 비교해 max를 찾은 다음 해당 학교의 이름을 출력해야 되므로 이 두가지를 짝으로 묶어서 저장해주어야 한다.

그래서 딕셔너리를 이용해 key에 학교명을 넣고, value에 술의 양을 저장했다. 이때 주의할 점은 input()으로 받은 l은 아직 문자열 형태이기 때문에 딕셔너리에 저장해줄 때 int()를 이용해 정수로 변환해주어야 한다!

그 다음 술 소비를 비교하기 위해 max()함수를 이용했다. max(s_dict, key=s_dict.get)를 사용해 딕셔너리의 value(술의 양)를 기준으로 최댓값을 찾아 key를 max_s에 저장해준 후 출력한다.

profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글