728x90
이번 포스트에서는 CodeUp의 3015번 "성적표 출력" 문제를 풀어보겠다.

문제 설명은 다음과 같다.

입력과 출력은 다음과 같다.


1. ## 문제 해석:
우선 총 학생 수와 출력할 학생의 수를 입력받는다. 그런 다음에 입력받은 총수를 기반으로 각 데이터(학생 이름과 점수)를 입력받는다. 마지막으로 출력할 학생의 수를 기반으로 성적이 높은 학생부터 차례대로 출력하면 된다.
2. ## 문제 풀이:
먼저 처리할 학생의 총 수 및 출력할 데이터의 수를 입력 받는 코드를 작성한다. 학생_점수 리스트도 함께 작성한다.
<python />
n, m = map(int, input().split())
sco_lst = []
그런 다음에 입력한 학생의 총 수를 바탕으로 리스트에 값을 채워가는 코드를 작성한다.
<python />
n, m = map(int, input().split())
sco_lst = []
for i in range(n):
student, score = input().split()
sco_lst.append([student, int(score)])
이제 한줄 코드로 리스트를 점수 순으로 정렬하는 코드를 작성해보겠다. 여기서는 lamba를 사용하게 되는데, 그 정렬의 기준이 리스트의 1번째 인덱스 값, 즉 점수를 기반으로 한다.
<python />
n, m = map(int, input().split())
sco_lst = []
for i in range(n):
student, score = input().split()
sco_lst.append([student, int(score)])
sco_lst = sorted(sco_lst, key=lambda a: a[1], reverse=True)
3. ## 최종 코드:
<python />
n, m = map(int, input().split())
sco_lst = []
for i in range(n):
student, score = input().split()
sco_lst.append([student, int(score)])
sco_lst = sorted(sco_lst, key=lambda a: a[1], reverse=True)
for i in range(m):
print(sco_lst[i][0])
4. ## 실행 결과:


'Coding Test > CodeUp' 카테고리의 다른 글
CodeUp-3016 (1등 한 학생의 성적) (1) | 2023.03.06 |
---|---|
CodeUp-3004 (데이터 재정렬) (0) | 2023.03.04 |
CodeUp-2623 (최대공약수 구하기) (0) | 2023.03.03 |
CodeUp-4012 (석차 계산) (0) | 2023.03.02 |
CodeUp-1805 (입체기동장치 생산공장) (0) | 2023.03.01 |