[JAVA 문제 풀이] 300. H-Index

프로그래머스 (42747)
Stupefyee's avatar
Jun 04, 2025
[JAVA 문제 풀이] 300. H-Index
notion image
 

내가 작성한 코드

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

다른 사람의 코드

import java.util.*; class Solution { public int solution(int[] citations) { Arrays.sort(citations); // 논문 인용 횟수를 오름차순 정렬 int max = 0; // 뒤에서부터(가장 큰 인용수부터) h-index 후보를 찾음 for(int i = citations.length-1; i > -1; i--){ // 현재 논문의 인용수와, 남은 논문 수 중 작은 값을 min에 저장 int min = (int)Math.min(citations[i], citations.length - i); // max보다 min이 크면 max를 갱신 if(max < min) max = min; } return max; // 최종 h-index 반환 } }
  • 각 논문마다 "인용수"와 "해당 인용수 이상인 논문 개수" 중 작은 값을 구해, 그 중 최대값을 h-index로 반환
Share article

stupefyee