본문 바로가기

C++/프로그래머스

[프로그래머스] [C++] H-Index

문제 풀이

 

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

using namespace std;

int solution(vector<int> citations) {
    int answer = 0;
    
    // citations를 내림차순으로 정렬
    sort(citations.begin(), citations.end(), greater<int>());
    
    // citations는 현재 가장 큰 수부터 작아지는 순으로 정렬되어 있다.
    // citations[i]는 인용된 횟수이고, i는 논문의 개수이다.
    // 즉, 인용된 횟수 citations[i](h)가 i(h)편 이상이기 위해서는 
    // citations[i] > i 를 충족해야 한다.
	for (int i = 0; i < citations.size(); i++) 
		if (citations[i] > i) answer++;

    return answer;
}

 

 

 

문제 링크

 

programmers.co.kr/learn/courses/30/lessons/42747?language=cpp

 

코딩테스트 연습 - H-Index

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

programmers.co.kr