- [ 장르 ] Sort
- Code
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
sort(citations.begin(), citations.end(), greater<int>());
for (int i = 0; i < citations.size(); ++i) {
if (citations[i] < i + 1) {
return i;
}
}
return citations.size();
}
" H-Index 란 무엇인가 ? "
[ CheckPoint ]
- 문제에대한 이해가 왠만한사람은 잘못된 길로 갈 가능성이 큰 문제다.
- [ 3,0,6,1,5 ] 일때 내림차순을 통해 [ 6,5,3,1,0 ] 에서 '3'일때 자기보다 크거나같은 요소는 3개, '3'보다 작은 수는 자기를 제외하고 2개니깐 답이 '3'이 ! 아니라, 이는 표를 통해 확인하자.
총 인용 수 ( 내림차순 )
순위
6
1
5
2
3
3
1
4
0
5
일때, 총 인용 수 < 순위이기 바로 직전 순위가 바로 "H-Index"이다. 애초에 Index하니깐 Index가 답이지 어떤 값이 정답이 되는게 아닌 듯하다.
다른 예로, [ 1,7,0,1,6,4 ] 가 있다 치자.
총 인용 수 ( 내림차순 )
순위
7
1
6
2
4
3
1
4
1
5
0
6
일때, 여기서 H-Index는 '3' 이다.
H-index 정의를 가져오자면, "피 인용수( Citation ) 가 논문의수( Index,No. ) 와 같아지거나 작아지기 시작하는 No.( = Index ) 가 H-Index이다.
이를 의미적으로 접근하면,예로들어 전체 논문의 수가 5편이고, H-Index가 3 이라함은 그 중, "3편의 논문은 3회이상 인용되었습니다. 그리고 나머지 2편의 논문은 3회 이하 인용되었기 떄문에 H-Index는 3입니다." 이다.
728x90
반응형
'Algorithm Practice > [ 프로그래머스 ]' 카테고리의 다른 글
[프로그래머스] [#42584] 주식가격 (0) | 2020.09.16 |
---|---|
[프로그래머스][#42583] 다리를 지나는 트럭 (0) | 2020.09.16 |
[프로그래머스] [#42586] 기능개발 (0) | 2020.09.15 |
[프로그래머스][#42746] 가장 큰수 (0) | 2020.09.12 |
[프로그래머스] [#42587] 프린터 (0) | 2020.09.11 |