컴퓨터/프로그래머스
프로그래머스 - 42747번: H-Index [Java]
이상한 나그네
2023. 9. 23. 00:16
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42747
1. 코드
import java.util.*;
class Solution {
public int solution(int[] citations) {
Arrays.sort(citations);
int answer = 0;
for(int i = 0; i <= citations[citations.length - 1]; i++) {
int cnt = 0;
for(int j = 0; j < citations.length; j++)
if(i <= citations[j])
cnt++;
if(cnt >= i)
answer = i;
}
return answer;
}
}
2. 설명
우선 citations을 오름차순으로 정렬 후 0부터 가장 큰 수까지 반복하는데 이 수는 H-Index 값이 됩니다.
cnt를 이용하여 각 논문들을 h번 이상 인용했는지 확인 후 cnt의 값이 h번 이상 인용된 것을 확인하면 answer에 저장합니다.
3. 정리
- 문제가 조금 복잡하게 설명되었는데 간단하게 정리하면 h번 이상 인용된 것에서 최댓값을 도출하면 된다.
출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges