[프로그래머스 알고리즘 고득점 Kit][정렬][Java] H-Index

2026. 5. 26. 20:08·알고리즘 & 자료구조/문제 풀이

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

같은 변수 h를 여러 곳에 사용하니까 문제를 이해하기 쉽지 않았다.

내림차순해서 하나씩 보면

6 5 3 1 0
1번째 논문을 보자 6번 이상 인용된 논문의 수는 1이다.
-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 1이다.
2번째 논문을 보자 5번 이상 인용된 논문의 수는 2이다.
-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 2이다.
3번째 논문을 보자 3번 이상 인용된 논문의 수는 3이다.
-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 3이다.

4번째 논문을 보자 1번 이상 인용된 논문의 수는 4이다.
-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 1이다.
5번째 논문을 보자 0번 이상 인용된 논문의 수는 5이다.
-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 0이다.

논문의 수를 하나씩 증가하는 식으로 보면 최댓값을 쉽게 찾을 수 있다.
인용된 수는 점점 감소할테고 만족하는 논문의 수는 증가한다.
그 사이에서 현재까지 세고 있는 논문의 수 이상 인용되었는가?를 보면된다.
그래서 그 크기가 전환되는 지점이 최대가 된다는 것을 알 수 있다.


import java.util.*;

class Solution {
    //6 5 3 1 0
    public int solution(int[] citations) {
        Arrays.sort(citations);
        int len = citations.length;
        
        int h = 0;
        for(int i=len-1; i>=0; i--) {
            int citationCnt = citations[i]; //논문의 인용된 수
            int paperCnt = len - i; //현재까지 카운트하고 있는 논문의 수

            if(citationCnt >= paperCnt) {
            //현재까지 본 paperCnt편의 논문이 모두 paperCnt번 이상 인용되었는가?
                h = paperCnt;
            } else {
		break;
            }
        }
        
        return h;
    }
}

저작자표시 비영리 변경금지 (새창열림)

'알고리즘 & 자료구조 > 문제 풀이' 카테고리의 다른 글

[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 올바른 괄호  (0) 2026.05.24
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 도둑질  (0) 2026.05.24
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 사칙연산  (0) 2026.05.08
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 체육복  (0) 2026.04.30
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] 가장 큰 수  (0) 2026.04.28
'알고리즘 & 자료구조/문제 풀이' 카테고리의 다른 글
  • [프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 올바른 괄호
  • [프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 도둑질
  • [프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 사칙연산
  • [프로그래머스 알고리즘 고득점 Kit][그리디][Java] 체육복
수수다
수수다
우하하
  • 수수다
    그냥살자
    수수다
  • 전체
    오늘
    어제
    • 분류 전체보기 (66)
      • 프로젝트 (1)
      • 알고리즘 & 자료구조 (33)
        • 내용 정리 (2)
        • 문제 풀이 (31)
      • 데이터베이스 (27)
        • 내용 정리 (1)
        • 문제 풀이 (26)
      • CS (2)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 블로그
  • 공지사항

  • 인기 글

  • 태그

    깊이/너비 우선 탐색(DFS/BFS)
    동적계획법
    매개변수탐색
    해시
    AVG
    그래프
    삼성청년SW·AI아카데미
    mysql
    Java
    bfs
    코테
    알고리즘
    프로그래머스
    바킹독
    HTTP 메서드
    유니온파인드
    코딩테스트
    분리집합
    SQL
    프로그래머스 알고리즘 고득점 kit
    바이브코딩
    코팅테스트
    coalesce
    date_format
    Round
    이분탐색
    DP
    IFNULL
    like
    정렬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
수수다
[프로그래머스 알고리즘 고득점 Kit][정렬][Java] H-Index
상단으로

티스토리툴바