어제의 나보다 성장한 오늘의 나

[프로그래머스][Level2][Java] H-Index 본문

알고리즘/프로그래머스(Programmers)

[프로그래머스][Level2][Java] H-Index

NineOne 2020. 12. 18. 23:38

programmers.co.kr/learn/courses/30/lessons/42747

 

코딩테스트 연습 - H-Index

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

programmers.co.kr

문제풀이

문제 자체를 이해를 못해서 시간이 조금 걸렸다. 진짜로 문제 이해하는게 전부인거 같다.

처음에 정렬을 하고 h번 이상 인용된 논문이 h편 이상인 h의 최댓값을 구하면 된다.

끝까지 찾지 않고 break한 이유는 갈수록 h는 줄어들기 때문에 최댓값을 구하면 되니깐 반복문을 끝냈다.

코드

import java.util.Arrays;
 
public class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        Arrays.sort(citations);
 
        for (int i = 0; i < citations.length; i++) {
            int h = citations.length - i;
 
            if (citations[i] >= h) {
                answer = h;
                break;
            }
        }
 
        return answer;
    }
}
Comments