[알고리즘C++]H-Index

후이재·2020년 9월 6일
1

오늘의 문제

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

H-Index

나의 풀이

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> ci) {
    int answer = 0;
    int size = ci.size();
    sort(ci.begin(), ci.end());
    
    for(int i=0;i<size;i++){
        int h = ci[size - i-1];
        if(h <= i + 1){
            if(answer <= h)
                return h;
            else
                return answer;
        }else if(h >= i+1)
            answer = i+1;
    }
    return answer;
}

모범 답안

include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> citations) {
    int answer = 0;

    std::sort(citations.begin(), citations.end());
    for (int i = 0; i < citations.size(); i++) {
        if (citations.size() - i <= citations[i]) {
            answer = citations.size() - i;
            break;
        }
    }
    return answer;
}

배울 점

  • 항상 내 예상을 초월하는 사람들의 풀이 정말 짧고 간결하다
profile
공부를 위한 벨로그

0개의 댓글