Posts [알고리즘] 프로그래머스 - H-Index
Post
Cancel

[알고리즘] 프로그래머스 - H-Index


문제

H-Index


접근

처음에 문제를 잘못 이해해서 헤맸다.
citations 배열을 역순으로 정렬해준다.
citations[i]와 i 중 작은 것을 선택하자.
이것은 무조건 h를 만족한다.
h의 최대값을 찾으면 된다.


코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
def solution(citations):
    citations.sort(reverse=True)
    answer = 0
    for cnt, citation in enumerate(citations):
        now = min(citation, cnt+1)
        if answer < now:
            answer = now
    return answer
  • C++ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <vector>
#include <algorithm>
using namespace std;

int solution(vector<int> citations) {
    int answer = 0;
    sort(citations.begin(), citations.end(), greater());
    for(int i = 0; i<citations.size(); i++){
        int now = min(i+1, citations[i]);
        if(answer < now){
            answer = now;
        }
    }
    return answer;
}


This post is licensed under CC BY 4.0 by the author.

[프로그래머스 인공지능스쿨] Week3-1 Python - EDA

[알고리즘] 프로그래머스 - 구명보트