어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.
어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.
입출력 예시
citations : [3, 0, 6, 1, 5]
-> 3
function solution(citations) {
var answer = 0;
var max = Math.max(...citations);
for (var i=0; i<=max; i++) {
var count = citations.filter((c) => c >= i).length;
console.log(i, count)
if (count >= i) answer = Math.max(answer, i);
}
return answer;
}
쉽게 풀었다고 생각했는데 내가 나름 복잡하게 생각한거더라.
function solution(citations) {
var answer = 0;
citations.sort((a, b) => b - a);
while(answer + 1 <= citations[answer]) answer++;
return answer;
}
훨씬 쉽게 풀 수도 있었음.