알고리즘/프로그래머스
[프로그래머스][자바스크립트][Level2] H-Index
Benjamin_Choi
2022. 1. 4. 21:11

/**
* H-index
* 정렬
* https://programmers.co.kr/learn/courses/30/lessons/42747?language=javascript
*/
function solution(citations) {
var answer = 0;
citations.sort((a, b) => b - a);
for (let i = 0; i < citations.length; i++) {
if (citations[i] >= i + 1) {
answer++;
} else {
break;
}
}
return answer;
}
module.exports = solution;
내림차순으로 정리해놓고,
1보다 인용 수가 많은 논문이 1편 이상 있는지를 시작으로 2보다 인용수 많은 논문 2편 확인, 3보다 인용수 많은 논문 3편 확인 ... 으로 쭉 이어나가면된다. 현재 확인 중인 논문보다 앞에 있는 논문들은 모두 인용수가 해당 논문보다 크거나 같고, 나머지 논문들은 작거나 같으므로 현재 확인 중인 논문의 인용수만 확인하면 된다.
const solution = require("./H-Index");
test('[3, 0, 6, 1, 5]', () => {
expect(solution([3, 0, 6, 1, 5])).toBe(3);
})