[프로그래머스/Java] H-index

Yujin·2025년 6월 18일

CodingTest

목록 보기
13/51
post-thumbnail

문제

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

문제풀이 방법

[3, 0, 6, 1, 5] -> [0, 1, 3, 5, 6]
int h = citations.length - i
i = 0 (h = 5)-> 5번 이상 2편(5번 이상이 5편 이상이여야함) -> 조건 만족 X
i = 1 (h = 4)-> 4번 이상 2편(4번 이상이 4편 이상이여야함) -> 조건 만족 X
i = 3 (h = 3)-> 3번 이상 3편(3번 이상이 3편 이상이여야함) -> 조건 만족(최댓값)->H-index
i = 5 (h = 2)-> 2번 이상 3편(2번 이상이 2편 이상이여야함) -> 조건 만족
i = 6 (h = 1)-> 1번 이상 4편(1번 이상이 1편 이상이여야함) -> 조건 만족

나의 코드


import java.util.*;
class Solution {
    public int solution(int[] citations) {
        Arrays.sort(citations);
        int answer = 0;
        for(int i = 1; i < citations.length + 1; i++){
            //citations[citations.length - i] : i 번째로 큰 수 
            //i번째로 큰 수가 i 보다 크거나 같으면 answer = i
            if(citations[citations.length - i] >= i){
                answer = i;
            }
        }
        return answer;
}
}

0개의 댓글