99클럽 코테 스터디 26일차 TIL - 275 H-Index II
275. H-Index II / c++ / Medium / 4분
문제 및 코드
#include <algorithm>
class Solution {
public:
int hIndex(vector<int>& citations) {
sort(citations.begin(), citations.end());
for (int i = 0; i < citations.size(); ++i)
{
if (citations.size() - i <= citations[i])
{
return citations.size() - i;
}
}
return 0;
}
};
접근 방식
배열 / 정렬
- H-Index는 h번 이상 인용된 논문이 h개 이상일 때의 최대값이다.
- 우선 배열을 정렬한뒤, 순회한다.
- 순회하면서 현재 남은 논문 갯수 (citations.size()-i)보다 현재 논문의 인용 횟수(citations[i])가 크거나 같다면, H-Index는 는 남은 논문의 갯수이므로 그것을 반환한다.
생각해 볼 점
- H-Index는 백준에서 이미 풀어본 경험이 있는 문제여서 쉽게 풀 수 있었다.
- 백준에서 처음 이 문제를 접했을 때는 최대값 범위를 어떻게 잡아야하고 어떻게 접근할지 감이 잘 안왔었는데, 그 때 제대로 이해하고 넘어가니 다음에 다시 이 문제가 나왔을 때, 쉽게 다시 풀 수 있었던 것 같다.
- h-index는 결국 논문의 개수로 제한되니 최대값은 최대 논문의 개수이다.
해시태그
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL