[python] 백준 11557 : Yangjojang of The Year

728x90

[python] 백준 11557 : Yangjojang of The Year

11557번: Yangjojang of The Year (acmicpc.net)

 

11557번: Yangjojang of The Year

입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다. 타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지

www.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