H-Index [CT]

성배·2025년 2월 17일
0

코딩테스트

목록 보기
49/53

어떤 과학자가 발표한 논문 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로 빠져나온다

 
📌추가 설명

0개의 댓글