본문 바로가기
알고리즘/프로그래머스

[프로그래머스] (정렬) H-Index

by 오이가지아빠 2021. 3. 25.

논문배열을 역정렬하거나, Arrays.sort를 해서 뒤부터 찾도록 하자.

 

원소의 인용횟수(인자) vs 정렬한 배열에서 원소보다 크거나 같은 갯수(루프 반복횟수) 를 세어서 역전이 일어나기 바로 직전이 H-Index.

 

import java.util.*;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        Arrays.sort(citations);
        int len = citations.length;

        for (int i = len - 1; i >= 0; i--) {
            int citation = citations[i];
            int iy = len - i;
            
            if(iy <= citation) {
                answer = iy;
            } else {
                break;
            }
        }
        return answer;
    }
}

다른사람들의 풀이를 보니 Math.min, Math.max를 사용하는 방법도 있지만 역시나 원리는 동일하다.

 

출처: 프로그래머스 코딩 테스트 연습, 
https://programmers.co.kr/learn/challenges

 

반응형

댓글