[Algorithm🧬] 코딩 인터뷰 완전 분석 : 모범생

또상·2022년 10월 18일
0

Algorithm

목록 보기
56/133
post-thumbnail

N명의 점수가 주어질 때 상위 3명의 ID를 출력하는 프로그램을 작성하시오.

입력

첫 줄에 학생 수 N(3≤N≤30,000)이 주어진다.
둘째 줄에는 N개의 점수가 공백으로 구분되어 ID 순으로 주어진다. (각 점수는 0 이상 10억 이하)
맨 먼저 입력된 점수는 ID가 1인 학생의 점수이고, 이후부터 순서대로 ID가 1씩 증가한다.

8
70 30 70 40 60 50 90 80

출력

점수가 가장 높은 학생의 ID 3개를 순서대로 출력한다.
만일 점수가 같은 경우는 ID가 작은 학생을 선택한다.

7 8 1



import sys

n = int(sys.stdin.readline())
scores = list(enumerate(list(map(int, sys.stdin.readline().split()))))

scores.sort(key=lambda x:x[1], reverse=True)

for id, _ in scores[0:3]:
    print(id + 1, end=' ')

sort 를 이렇게 냅다 써먹어도 되는진 모르겠으나,,, 일단 제출 완료

profile
0년차 iOS 개발자입니다.

0개의 댓글