#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(i+1 > citations[i])
return i;
if(i+1 == citations[i])
return i+1;
}
}
맨 끝에서 부터 논문 수를 센다. 논문 수([i+1])>=논문 인용수(citations[i])면 return citations[i]로 문제가 풀릴 줄 알았으나.... 다 틀렸다. 왜 틀렸나 생각해보니 {1,2,3,5,6,7,8}로 눈문이 7편이 있다면.. 3이 아니라 인용은 4가 되여야 할 것이다. 그래서 위와 같이 코드를 수정하니 풀렸다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Level 2][C++] 행렬의 곱셈 (0) | 2024.10.10 |
---|---|
[Level 2][C++] 전화번호 목록 (0) | 2024.10.02 |
[Level 2][C++] JadenCase 문자열 만들기 (0) | 2024.10.01 |
[Level 2][C++] N개의 최소공배수 (0) | 2024.10.01 |
[Level 2][C++] 예상 대진표 (0) | 2024.10.01 |