프로그래머스 H-Index C++
2023. 10. 19. 15:21ㆍ알고리즘
이 문제는 이해하기가 어려운 문제였다. 코드는 간단하다.
문제에서 나온 예시를 정렬하면
0,1, 3, 5, 6이 된다.
이 때 인덱스 번호는 자신 이상으로 인용된 횟수를 확인할 수 있다.
가령 6의 경우 인덱스 번호는 1이고 (역으로 정렬했다)
따라서 자신 이상으로 인용된 횟수는 1회이다.
디버깅 케이스는 10, 20, 30과 같은 경우이다. 이 때 10회이상 인용이 되었지만 쓴 논문이 3편이기 때문에 h index의 최대값은 3편에 지나지 않는다. 이에 유의해서 풀면 된다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(), citations.end(), greater<int> ());
for (int i=0;i<citations.size();i++){
if (citations[i]>=i+1){
answer = i+1;
}
}
return answer;
}
'알고리즘' 카테고리의 다른 글
프로그래머스 소수찾기 C++ (0) | 2023.10.19 |
---|---|
프로그래머스 최소직사각형 C++ (0) | 2023.10.19 |
프로그래머스 K번째 수 C++ (0) | 2023.10.19 |
프로그래머스 여행경로 C++ (0) | 2023.10.19 |
코드트리 메이즈 러너 C++ (1) | 2023.10.14 |