지식보부상님의 공부 일지

백준 11557번: Yangjojang of The Year 본문

파이썬 문제풀이

백준 11557번: Yangjojang of The Year

지식보부상님 2025. 1. 3. 15:44

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

 

* 딕셔너리에서 value가 가장 큰 key 찾는 법*

dic = {'a':10, 'b':20, 'c':30}
max_key = max(dic, key = dic.get) #value가 가장 큰 key 값 찾기
max_value = dic[max_key] #가장 큰 value

 

Yangjojang of The Year 성공


시간제한 메모리제한 제출 정답 맞힌사람 정답비율
1 초 256 MB 12403 8898 8157 73.262%

 

문제

입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다.

타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 궁금해졌다.

학교별로 한 해동안 술 소비량이 주어질 때, 가장 술 소비가 많은 학교 이름을 출력하여라.

입력

입력의 첫 줄에는 테스트 케이스의 숫자 T가 주어진다.

매 입력의 첫 줄에는 학교의 숫자 정수 N(1 ≤ N ≤ 100)이 주어진다.

이어서 N줄에 걸쳐 학교 이름 S(1 ≤ |S| ≤ 20, S는 공백없는 대소문자 알파벳 문자열)와 해당 학교가 지난 한 해동안 소비한 술의 양 L(0 ≤ L ≤ 10,000,000)이 공백으로 구분되어 정수로 주어진다.

같은 테스트 케이스 안에서 소비한 술의 양이 같은 학교는 없다고 가정한다.

출력

각 테스트 케이스마다 한 줄에 걸쳐 술 소비가 가장 많은 학교의 이름을 출력한다.

예제 입력 1 

2
3
Yonsei 10
Korea 10000000
Ewha 20
2
Yonsei 1
Korea 10000000

예제 출력 1

Korea
Korea

 

제출 코드

test_case = int(input())

for i in range(test_case):
    school_num = int(input())
    school = {}
    for j in range (school_num):
        name, alcohol = input().split()
        alcohol = int(alcohol)
        school.update({name:alcohol})
    max_school = max(school, key=school.get)
    print(f"{max_school}")

코멘트

물론 딕셔너리 이용하지 않고 최대인 학교만 찾을 수 있으나, 딕셔너리 이용하여 구현해봤음

'파이썬 문제풀이' 카테고리의 다른 글

백준 4375번: 1 (실버 3)  (1) 2025.01.03
백준 4358번: 생태학  (0) 2025.01.03
백준 10214번: Baseball  (1) 2025.01.03
백준 10103번: 주사위 게임  (1) 2025.01.03
백준 10162번: 전자레인지  (1) 2025.01.03