어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.
생각한 풀이
1. h번 이용한 논문의 수= 남은 논문의 수와 같아져야 한다
2. 배열 정렬을 위해 sort() 수행한다
3. citations[i]의 의미는 논문의 인용 횟수이므로 for문을 돌며 해당 값이 남은 논문의 수와 같은지 확인한다
import java.util.*;
class Solution {
public int solution(int[] citations) {
int answer=0;
int n=citations.length;
Arrays.sort(citations);
for(int i=0;i<n;i++){
if(citations[i]>=n-i){
answer=n-i;
break;
}
}
return answer;
}
}
🐴 풀이
1. citations의 길이를 n으로 둔고 citations를 sort()한다
2. for문 내부에서 citations의 값이 n-i(총 논문의 수 - 검사한 논문의 수=> 남은 논문의 수)와 같아지는 수를 찾는다
3. 해당 값을 찾으면 break로 빠져나온다
📌추가 설명