728x90
[python] 백준 11557 : Yangjojang of The Year
11557번: Yangjojang of The Year (acmicpc.net)
브론즈 1
구현, 정렬
접근
대학교 이름과 술 소비량을 입력받으면 짝을 지어서 리스트에 삽입하도록 한다.
[(학교1, 100), (학교2, 200), (학교3, 300)]
각각의 두번째 값을 기준으로 내림차순 정렬하여 첫번째 값의 학교이름을 출력하도록 한다.
파이썬의 lambda 함수를 이용하면 쉽게 값을 얻을 수 있다.
코드
T = int(input())
for t in range(T):
N = int(input())
lst = []
for _ in range(N):
name, amount = input().split()
lst.append((name, int(amount))) // append를 짝지어서 튜플로 넣을 수도 있다.
d = sorted(lst, key=lambda x:-x[1]) // 각 튜플의 두번째 값을 기준으로 내림차순 정렬
print(d[0][0]) // 첫번째 튜플의 첫번째 값, 즉 대학의 이름을 출력한다.
lambda x : x[1] 는 두번째 값에 대한 오름차순 정렬, -를 붙이면 내림차순 정렬이 된다.
728x90
'파이썬 > 자료구조와 알고리즘' 카테고리의 다른 글
[파이썬] 클래스, self, __init__, __str__ (0) | 2022.03.06 |
---|---|
[파이썬] 유클리드 호제법을 이용한 최대공약수, 최소공배수 구하기 (0) | 2022.03.05 |
[파이썬/자료구조] 스택(stack) (0) | 2022.02.22 |
[파이썬/자료구조] 큐(queue) 덱(deque) (0) | 2022.02.20 |
파이썬 자료구조/알고리즘 10 : 소수 찾기 알고리즘 (0) | 2022.02.10 |