STUDYING/Algorithm

[Programmers] H-Index

EOZIN 2021. 9. 27. 00:45
728x90

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

 

코딩테스트 연습 - H-Index

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

programmers.co.kr

import java.util.*;

class Solution {
    public int solution(int[] citations) {
        int answer = 0;
        Arrays.sort(citations);
        
        // System.out.println(Arrays.toString(citations));
        
        for(int i = citations.length; i > 0; i--) {
            int h = i;
            
            int lower = 0;
            int higher = 0;
            
            for (int j = 0; j < citations.length; j++) {
                if (citations[j] >= h) {
                    higher += 1;
                } else {
                    lower += 1;
                }
            }
            
            if (higher >= h && lower <= h) {
                return h;
            }
        }
        
        return answer;
    }
}