H-index

유태형·2022년 2월 17일
0

문제

문제 분석

hH-index가 의미하는 점이 이해하기 어려운것 같다.
h들을 구해서 h의 최댓값(인용된 논문수)인 H-index를 반환하는 문제이다.




풀이

정렬

순서와 상관없이 갯수를 구하는 문제이므로 정렬을 사용하자

import java.util.Arrrays;
Arrays.sort(citations);

H-index 구하기

먼저 h의 의미를 이해해야한다. citations[i]번째 요소의 값에 대해 citations[i]보다 더 많이 인용된 논문의 수이다.
h들을 비교하여 최대값인 hH-index가 된다.

1.h값을 구한다.
2.구한 h값이 최댓값인지 비교한다.

for(int i=0;i<citations.length;i++){
       int h = Math.min(citations[i],citations.length - i); //h번 이상 인용된 논문이 h편 이상인지
       answer = Math.max(answer,h); // h의 최댓값
       
   }



코드

import java.util.*;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        Arrays.sort(citations);
        
        for(int i=0;i<citations.length;i++){
            int h = Math.min(citations[i],citations.length - i); //h번 이상 인용된 논문이 h편 이상인지
            answer = Math.max(answer,h); // h의 최댓값
            
        }
        return answer;
    }
}



GitHub

https://github.com/ds02168/Study_Algorithm/blob/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/%EC%9E%90%EB%B0%94/Level2/Hindex.java

profile
오늘도 내일도 화이팅!

0개의 댓글

관련 채용 정보