
/**
* 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);
})
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][자바스크립트][Level1] 두 개 뽑아서 더하기 (0) | 2022.01.06 |
---|---|
[프로그래머스][자바스크립트][Level1][카카오] 실패율 (0) | 2022.01.05 |
[프로그래머스][자바스크립트][Level2] 가장 큰 수 (0) | 2022.01.04 |
[프로그래머스][자바스크립트][Level1] 없는 숫자 더하기 (0) | 2022.01.04 |
[프로그래머스][자바스크립트][Level3] 베스트 앨범 (0) | 2022.01.04 |
댓글