내림차순 정렬을 한뒤 해당 값이 인덱스 + 1(논문 개수) 보다 작으면 그때의 인덱스를 반환해 주면 된다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations)
{
int n = citations.size();
sort(citations.begin(), citations.end(), greater<int>() );// 내림차순 정렬
for(int i=0;i<n;i++)
if (citations[i] < i + 1) return i;// 인용된 횟수가 현재 논문까지의 개수+1 보다 작다면
return n;// 인용된 횟수의 최소값이 전체 논문보다 크거나 같을 때
}