반응형
풀이코드
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
반응형
'Stack > Coding test' 카테고리의 다른 글
[C++ / Lv2] 전화번호 목록 (0) | 2022.02.05 |
---|---|
[C++ / Lv1] 완주하지 못한 선수 (0) | 2022.02.04 |
[C++ / Lv2] 문자열 압축 (0) | 2022.02.02 |
[C# / Lv2] 가장 큰 수 (0) | 2022.01.18 |
[C# / Lv1] k번째 수 (0) | 2022.01.17 |