문제

문제 요약
- H-Index란?
- 과학자가 발표한 논문 중 h번 이상 인용된 논문이 h편 이상이고, 나머지 논문이 h번 이하 인용되었다면, 이때의 h의 최댓값이 H-Index
입출력 분석
| citations | return |
|---|
| [3, 0, 6, 1, 5] | 3 |
제한 사항
- 논문 수는 1편 이상, 1,000편 이하.
- 논문별 인용 횟수는 0회 이상, 10,000회 이하.
설계
- 정렬을 사용해서 인용 횟수를 오름차순으로 정리해 인용된 논문의 수를 쉽게 관리한다.
- 만약 정렬하지 않았다면, 모든 값을 하나씩 조건에 맞게 확인해야 하므로 복잡도가 상당함
- 정렬 후 논문의 인용 횟수를 작은 값부터 확인
해결
import java.util.Arrays;
class Solution {
public int solution(int[] citations) {
Arrays.sort(citations);
int answer = citations.length;
for(int c: citations){
if(c >= answer){
break;
}else{
answer -= 1;
}
}
return answer;
}
}