Stack/Coding test
[C# / Lv2] H-Index
Seo_re:
2022. 1. 19. 17:15
반응형
풀이코드
using System;
public class Solution {
public int solution(int[] citations) {
int answer = GetAnswer(citations);
return answer;
}
private int GetAnswer(int[] citations)
{
Array.Sort(citations, (a, b) => {return b.CompareTo(a);});
if(citations[0] == 0)
{
return 0;
}
int returnValue = 0;
for(int i = 0; i < citations.Length; i++)
{
if(citations[i] < i + 1)
{
returnValue = i;
break;
}
}
return returnValue == 0 ? citations.Length : returnValue;
}
}
- 내림차순 정렬을 한 뒤, 첫번째 원소가 0이면 H-Index는 0이다.
- 인용이 한번이상 되었다면 발표한 논문의 수와 인용된 수를 비교해서 인용된 수가 논문의 수보다 작으면 index값이 H-Index가 된다.
- 발표한 모든 논문의 인용된 수가 같으면 논문의 수가 H-Index가 된다.
기타
- H-Index만 제대로 이해하면 어려운 문제는 아닌데, 태어나서 처음보는 개념이라 헤맸다.
- H-Index
반응형