ABOUT ME

Today
-
Yesterday
-
Total
-
  • 10825. 국영수
    Algorithm/Baekjoon 2023. 2. 5. 03:35

    재밌게 봤던 웹툰 방과후 전쟁활동에서 저런 캐릭터 이름이 있었는데...

     

    파이썬 sorted 함수를 사용하면 어렵지 않게 풀 수 있는 문제이다.

    sorted 함수에서는 key값으로 파이썬 lambda 함수를 넣어 원하는 조건대로 정렬이 가능하다.

    정렬의 우선 순위를 담은 튜플을 리턴하는 람다함수를 전달한다.

    - 응용하여 문자열 길이순 정렬 등도 할 수 있음.

     

    import sys
    
    n = int(sys.stdin.readline())
    
    main_list = [0 for _ in range(n)]
    
    for i in range(n) :
        [name, kor, eng, math] = sys.stdin.readline().split()
        main_list[i] = [name, int(kor), int(eng), int(math)]
    
    sorted_list = sorted(main_list, key = lambda x : (-x[1], x[2], -x[3], x[0]))
    
    for score in sorted_list :
        print(score[0])

    참고할 점은 각 점수들을 int 형으로 바꿔주어야 한다는 것. 처음에 쉽다고 너무 생각없이 풀었다가 이것때문에 한번 오답이 나왔다...

    'Algorithm > Baekjoon' 카테고리의 다른 글

    1946. 신입사원  (0) 2023.02.05
    12840. 창용이의 시계  (0) 2023.02.05
    10804. 카드 역배치  (0) 2023.02.05
    2751. 수 정렬하기 2  (0) 2023.02.05
    2750. 수 정렬하기  (0) 2023.02.05

    댓글

Designed by nanometre380.