// 등수 구하기
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
const arr = fs.readFileSync(filePath).toString().trim().split("\n");
const [n, news, p] = arr[0].split(" ").map(Number);
let rank = -1;
const score = arr[1]?.split(" ").map(Number);
for (let i = 0; i < n; i++) {
if (score[i] <= news) {
score.splice(i, 0, news);
rank = i + 1;
if (score.length > p && score[p] >= news) {
// 넣었는데 랭킹 리스트에 여유 없으면
rank = -1;
}
break;
} else if (i === n - 1 && n < p) {
// 랭킹 리스트에 여유있으면
rank = n + 1;
}
}
if (n === 0) rank = 1;
console.log(rank);
랭킹 리스트의 모든 점수보다 작고, 랭킹 리스트가 다 차있지 않은 반례를 바로 생각하지 못했다. 앞으론 꼼꼼하게 케이스를 나눠서 테스트해봐야겠다.