Dev/Programmers

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

마이캣호두 2024. 12. 16. 17:22
반응형

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

Idea

논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 

→ ciataions 배열을 정렬해주게 되면, h는 결국 해당 논문보다 인용 횟수가 크거나 같은 수라는 뜻이 되므로, int h = citations.length - i; 로 설정했다.

 

 

Code

import java.util.Arrays;

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;
    }
}
반응형