[Baekjoon] 25305번 : 커트라인 문제풀이 (Node.js)

woohyuk·2022년 12월 2일
0

https://www.acmicpc.net/problem/25305

문제

2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 NN명의 학생들이 응시했다.

이들 중 점수가 가장 높은 kk명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.

커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.

입력

첫째 줄에는 응시자의 수 NN과 상을 받는 사람의 수 kk가 공백을 사이에 두고 주어진다.

둘째 줄에는 각 학생의 점수 xx가 공백을 사이에 두고 주어진다.

출력

상을 받는 커트라인을 출력하라.

코드

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]);


풀이

  1. N을 내림차순으로 정렬

  2. K명의 점수를 배열에 푸쉬

  3. 배열에 K - 1 인덱스값을 출력

profile
기록하는 습관을 기르자

0개의 댓글