728x90
문제
입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다.
타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 궁금해졌다.
학교별로 한 해동안 술 소비량이 주어질 때, 가장 술 소비가 많은 학교 이름을 출력하여라.
https://www.acmicpc.net/problem/11557
입력
입력의 첫 줄에는 테스트 케이스의 숫자 T가 주어진다.
매 입력의 첫 줄에는 학교의 숫자 정수 N(1 ≤ N ≤ 100)이 주어진다.
이어서 N줄에 걸쳐 학교 이름 S(1 ≤ |S| ≤ 20, S는 공백없는 대소문자 알파벳 문자열)와 해당 학교가 지난 한 해동안 소비한 술의 양 L(0 ≤ L ≤ 10,000,000)이 공백으로 구분되어 정수로 주어진다.
같은 테스트 케이스 안에서 소비한 술의 양이 같은 학교는 없다고 가정한다.
출력
각 테스트 케이스마다 한 줄에 걸쳐 술 소비가 가장 많은 학교의 이름을 출력한다.
예제
# input
2
3
Yonsei 10
Korea 10000000
Ewha 20
2
Yonsei 1
Korea 10000000
# output
Korea
Korea
문제 풀이
import sys
input = sys.stdin.readline
# 테스트 케이스 수 입력 받기
T = int(input())
for _ in range(T):
# 학교 숫자 입력 받기
N = int(input())
# 정답 변수
answer = ''
# 현재까지 최대 음료수 소비량 변수
max_drink = 0
for _ in range(N):
# 학교 이름과 음료수 소비량 입력 받기
school, drink = input().split()
# 현재 음료수 소비량을 정수로 변환하여 임시 저장
tmp = int(drink)
# 현재 음료수 소비량이 최대 소비량보다 크면
if max_drink < tmp:
# 최대 소비량 갱신
max_drink = tmp
# 정답 갱신
answer = school
print(answer)
import sys
input = sys.stdin.readline
# 테스트 케이스 수 입력 받기
T = int(input())
for _ in range(T):
# 학교 숫자 입력 받기
N = int(input())
# 학교와 음료수 소비량을 저장할 리스트
schools = []
for _ in range(N):
# 학교 이름과 음료수 소비량 입력 받기
school, drink = input().split()
# 튜플을 리스트에 추가
schools.append((school,int(drink)))
# 음료수 소비량을 기준으로 내림차순 정렬
schools.sort(key= lambda x: x[1], reverse=True)
# 음료수 소비량이 가장 많은 학교의 이름 출력
print(schools[0][0])
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90