👉 문제바로가기
학생의 점수를 리스트로 저장한 후 내림차순 정렬합니다. 상을 받는 사람의 수가 k명이면 리스트의 인덱스값은 k-1이므로 해당 리스트에서 k-1의 인덱스 값을 가진 요소가 커트라인이 됩니다.
sort함수를 사용하면 되므로 시간복잡도는 O(NlogN)입니다. N값의 범위는 1<=N<=1000이므로 최대 약 3000개의 연산이 필요하겠네요.
정렬이 필요하므로 sort()를 사용하였습니다. sort함수에 reverse=True로 설정하면 내림차순 정렬이 가능합니다.
import sys
N, k = map(int, sys.stdin.readline().split())
score = list(map(int, sys.stdin.readline().split()))
score.sort(reverse=True)
print(score[k - 1])