https://www.acmicpc.net/problem/25305
2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 명의 학생들이 응시했다.
이들 중 점수가 가장 높은 명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.
커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.
첫째 줄에는 응시자의 수 과 상을 받는 사람의 수 가 공백을 사이에 두고 주어진다.
둘째 줄에는 각 학생의 점수 가 공백을 사이에 두고 주어진다.
상을 받는 커트라인을 출력하라.
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs')
.readFileSync(filePath)
.toString()
.trim()
.split('\n');
const [N, K] = input[0].split(' ').map(Number);
const arr = input[1]
.split(' ')
.map(Number)
.sort((a, b) => b - a);
const prizeScores = [];
for (let i = 0; i < N; i++) {
prizeScores.push(arr[i]);
if (prizeScores.length === K) {
break;
}
}
console.log(prizeScores[K - 1]);
N을 내림차순으로 정렬
K명의 점수를 배열에 푸쉬
배열에 K - 1 인덱스값을 출력