문제 풀이
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
// citations를 내림차순으로 정렬
sort(citations.begin(), citations.end(), greater<int>());
// citations는 현재 가장 큰 수부터 작아지는 순으로 정렬되어 있다.
// citations[i]는 인용된 횟수이고, i는 논문의 개수이다.
// 즉, 인용된 횟수 citations[i](h)가 i(h)편 이상이기 위해서는
// citations[i] > i 를 충족해야 한다.
for (int i = 0; i < citations.size(); i++)
if (citations[i] > i) answer++;
return answer;
}
문제 링크
programmers.co.kr/learn/courses/30/lessons/42747?language=cpp
'C++ > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [C++] 소수 찾기 (0) | 2020.12.26 |
---|---|
[프로그래머스] [C++] 모의고사 (0) | 2020.12.11 |
[프로그래머스] [C++] 가장 큰 수 (0) | 2020.12.07 |
[프로그래머스] [C++] K번째 수 (0) | 2020.12.03 |
[프로그래머스] [C++] 이중우선순위큐 (0) | 2020.12.02 |