Yozzang의 해킹일기 💻
article thumbnail
728x90

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

CodeUp


문제 설명은 다음과 같다.

문제 설명

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

입력
출력

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. ## 실행 결과:

코드 제출
성공

profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!