백준 25305번 커트라인, Node.js

cptkuk91·2023년 2월 24일
1

Algorithm

목록 보기
146/161

문제

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

코드

const input = require("fs").readFileSync("/dev/stdin", "utf-8").trim().split("\n");

let rank = input[0].split(" ").map(num => +num);
let grade = input[1].split(" ").map(num => +num).sort((a, b) => b - a);

console.log(grade[rank[1] - 1]);

풀이

우선 rank를 통해 등수를 구한다. console에서 주의사항이 있기 때문에 밑에 줄에서 다시 보고, grade를 정렬해야 한다. 등수를 찾기 위해서, 우선 split(" ")과 map을 통해 배열에 펼쳐주고, 내림차순 배열 .sort((a, b) => b - a);를 통해서 정렬해줬다.
그럼 grade는 [100, 98, 93, 85, 76]으로 정렬된다. 원하는 결과를 얻기 위해서 이제 console을 찍어주면 된다. 우선 grade[rank[1]]을 살펴보자. 이렇게 출력하면 rank[1]은 2라는 숫자르 가지고 있기 때문에 grade[2]라는 뜻이다. 배열은 0부터 시작하기 때문에 0,1,2 93을 출력하게 된다. 문제에서 원하는 건 2등까지 98이라는 숫자를 출력하길 원한다. 따라서 grade[rank[1] - 1]을 통해 원하는 결과를 출력할 수 있다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글