문제: 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
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 12949번: 행렬의 곱셈 [Java] (0) | 2023.10.01 |
---|---|
프로그래머스 - 87390번: n^2 배열 자르기 [Java] (0) | 2023.09.28 |
프로그래머스 - 131701번: 연속 부분 수열 합의 개수 [Java] (0) | 2023.09.19 |
프로그래머스 - 76502번: 괄호 회전하기 [Java] (0) | 2023.08.26 |
프로그래머스 - 138476번: 귤 고르기 [Java] (0) | 2023.08.25 |