Coding Test/Programmers

[Java][Programmers] H-Index

예롱메롱 2025. 3. 13. 15:34
728x90
반응형
 

프로그래머스

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

programmers.co.kr


📌 접근 방식

문제가 완전……..이상해서 이해하다가 시간 다 잡아먹고 결국 검색해서 문제 이해했습니당 🥲🥺

단순히 “어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.” 라고 설명되어 있어서, 주어진 citations 배열값을 이용해서 구하는 것인줄 알았습니다….

💡 결론은

👉🏻  h의 기준은 그냥 0~10000 → 배열의 값을 이용하는 것이 아님

ex) [1, 10, 11]의 경우 답은 2임


PASS CODE

import java.util.*;
class Solution {
    public int solution(int[] citations) {
        int answer = -1;
        Arrays.sort(citations);

        // [1, 10, 11] -> 2
        int j=0;
        while(true) {
            int cnt = 0;
            for(int i=0; i<citations.length; i++) {   
                if(citations[i] >= j) {
                    cnt++;
                }
            }
            if(cnt < j) {
                answer = j-1;
                break;
            }
            j++;
        }
        if(answer == -1) {
            answer = citations.length;
        }
        return answer;
    }
}

 

728x90
반응형