[Programmers](ハイスコアKIT)ソート-H-Index
4480 ワード
https://programmers.co.kr/learn/courses/30/lessons/42747
問題の説明
H-Indexは科学者の生産力と影響力を測定する指標である.ある科学者のh-indexを表すh値を求めたいです.ウィキペディア1によると、H-Indexの計算は以下の通り.
ある科学者が発表したn編の論文の中で、h編以上の論文を引用し、残りの論文がh次以下に引用された場合、hの最高価格はこの科学者のh-indexである.
ある科学者が論文を発表する引用回数の配列参照をパラメータとして与えた場合,その科学者のH−Indexを返すために解関数を記述してください.
せいげんじょうけん
科学者が発表した論文の数は1編以上1000編以下である.
論文引用回数は0回以上10000回以下である.
I/O例
citationsreturn[3, 0, 6, 1, 5]3
Solution
問題の説明
H-Indexは科学者の生産力と影響力を測定する指標である.ある科学者のh-indexを表すh値を求めたいです.ウィキペディア1によると、H-Indexの計算は以下の通り.
ある科学者が発表したn編の論文の中で、h編以上の論文を引用し、残りの論文がh次以下に引用された場合、hの最高価格はこの科学者のh-indexである.
ある科学者が論文を発表する引用回数の配列参照をパラメータとして与えた場合,その科学者のH−Indexを返すために解関数を記述してください.
せいげんじょうけん
科学者が発表した論文の数は1編以上1000編以下である.
論文引用回数は0回以上10000回以下である.
I/O例
citationsreturn[3, 0, 6, 1, 5]3
Solution
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool comp(int a, int b){
return a > b;
}
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(), citations.end(), comp);
if(!citations[0]) return 0;
for(int i = 0; i < citations.size(); i++){
if(citations[i] > i) answer++;
else break;
}
return answer;
}
簡単です.まずは整然と降順に.その後にインデックスに格納される参照回数が現在のインデックスの値より大きい場合は、正解に1を加算できます.Reference
この問題について([Programmers](ハイスコアKIT)ソート-H-Index), 我々は、より多くの情報をここで見つけました https://velog.io/@sierra9707/Programmers-고득점KIT-완전탐색-H-Indexテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol