📌 문제 링크
https://www.acmicpc.net/problem/25305
📌 문제 탐색하기
- N명의 학생이 응시했을 때 이들 중 점수가 가장 높은 K명이 상을 받는다. 이때 상을 받는 커드라인이 몇 점인지 구하여라.
시간복잡도
- 정렬 작업이 포함되어 O(n long n)
📌 코드 설계하기
- 문제의 input에서 정보(총 인원 수, 상을 받는 인원 수)와 점수를 분리합니다.
- 정보에서 상을 받는 인원 수를 추출합니다.
- 점수들은 공백으로 나누고, 숫자로 변환한 후 내림차순으로 정렬합니다.
- 정렬된 점수에서 상을 받는 인원 수의 -1을 하여 인덱스로 값을 구합니다.
📌 정답 코드
//https://www.acmicpc.net/problem/25305
export {};
const fs = require("fs");
const filePath =
process.platform === "linux" ? "/dev/stdin" : __dirname + "/input1.txt";
const [info, grade] = fs.readFileSync(filePath).toString().trim().split("\n");
const [_, awardee] = info.split(" ");
const sortedGrade = grade
.split(" ")
.map((x: number) => Number(x))
.sort((a: number, b: number) => b - a);
console.log(sortedGrade[awardee - 1]);
'코딩 > 알고리즘' 카테고리의 다른 글
백준) 2775 - 부녀회장이 될테야 JS (2) | 2024.10.16 |
---|---|
백준) 2748 - 피보나치 수2 JS (0) | 2024.10.15 |
백준) 2578 - 빙고 JS (0) | 2024.10.14 |
백준) 7568 - 덩치 JS (0) | 2024.10.13 |
백준) 2947 - 나무 조각 JS (0) | 2024.10.12 |