본문 바로가기
정리/알고리즘

정렬 - H-Index

by Hudini30 2022. 2. 16.

프로그래머스(정렬) - H-Index

해당 문제를 이해하는것에 시간이 걸렸었는데, h는 n을 절대 넘을수 없고, h의 최대값 또 한 n 이상이 될수 없다는 것을 알 수 있습니다(0 <= h <= n) 그리고 입력받은 citations을 오름차순으로 정렬 하고 제일 처음의 값이 조건을 만족한 경우 h의 최대 값은 n 다음값이 만족할 경우 h의 최대 값은 h - 1 이라는것을 알 수 있습니다.

ex) n = 5, ci[] = {5,6,7,8,9}  인경우 h-index 는 5, ci[] = {4,6,7,8,9} 일때 h-index는 4

public int solution(int[] citations) {
        int answer = 0;
        int n = citations.length;
        int[] copiedCitations = Arrays.copyOf(citations, n);
        Arrays.sort(copiedCitations);

        for(int i = 0; i < n; i++) {
            int h = citations.length - i;
            if(copiedCitations[i] >= h) {
                answer = h;
                break;
            }
        }

        return answer;
    }

'정리 > 알고리즘' 카테고리의 다른 글

완전탐색 - 소수찾기  (0) 2022.02.19
완전탐색 - 모의고사  (0) 2022.02.17
정렬-가장 큰 수  (0) 2022.02.15
정렬-K번째 수  (0) 2022.02.14
힙(Heap)-디스크 컨트롤러  (0) 2022.02.10

댓글