국문과 유목민

[정렬] 국영수 본문

알고리즘_코딩테스트/이것이 코딩테스트다

[정렬] 국영수

논곰 2021. 12. 17. 00:24
"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다.
문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다.

소요시간: 18분

1. 문제 설명

- 이름, 국어점수, 영어점수, 수학점수가 순서대로 들어올 때 각 정렬조건에 맞춰서 이름을 출력하는문제

2. 접근 방식

- sort함수의 key=lambda를 활용하려고 했는데, 조건을 괄호를 사용해서 여러 개 줄 수 있다는 것을 까먹어서 조금 찾아보고 풀었다.

3. 코드

import sys
input = sys.stdin.readline
n = int(input())
students= []

for _ in range(n):
    name, kor, eng, math = input().split()
    students.append([name, int(kor), int(eng), int(math)])
students.sort(key = lambda x: (-x[1], x[2], -x[3], x[0]))
for i in students:
    print(i[0])

4. 코멘트

- 해당 문제는 단순히 정렬을 잘 활용할 수 있느냐 여부를 묻는 문제였던 것 같다.

'알고리즘_코딩테스트 > 이것이 코딩테스트다' 카테고리의 다른 글

[정렬] 실패율  (0) 2021.12.17
[정렬] 안테나  (0) 2021.12.17
[DFS/BFS] 인구이동  (0) 2021.12.16
[DFS/BFS] 괄호변환  (0) 2021.12.16
[DFS/BFS] 경쟁적 전염  (0) 2021.12.16