H-Index
🔗 質問リンク
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回以下である.
💡 プール(言語:JavaとPython)
簡単そうに見えますが、問題は分かりにくいです.まずソートし、1行2つの条件をフィルタする条件式がコアです.
Java
class Solution {
public int solution(int[] citations) {
Arrays.sort(citations);
for (int i = 0; i < citations.length; i++) {
if (citations[i] >= citations.length-i)
return citations.length-i;
}
// 여기는 올 수 없다
return 0;
}
}
Python
def solution(citations):
citations.sort()
l = len(citations)
for i in range(l):
if citations[i] >= l-i:
# 논문이 인용된 횟수(h번 이상) >= 인용된 논문의 개수(h개 == h번)
return l-i
return 0
Reference
この問題について(H-Index), 我々は、より多くの情報をここで見つけました https://velog.io/@shiningcastle/H-Indexテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol