-
[프로그래머스/Level 2] H-Index (C++)알고리즘 문제풀이/프로그래머스 2020. 11. 4. 22:56
programmers.co.kr/learn/courses/30/lessons/42747
인덱스의 크기가 해당 인덱스의 citations 값보다 크거나 같을 때 해당 인덱스가 H-Index가 된다.
예를들어 [3, 0, 6, 1, 5] 인 경우 내림차순으로 정렬하면 6, 5, 3, 1, 0이 되고, 인덱스 번호를 붙혀보면
0 6
1 5
2 3
3 1 -> 최초로 조건을 만족하므로 인덱스 번호 3이 H-Index
4 0
다른 예시로 [1, 7, 0, 1, 6, 4] 인 경우 내림차순으로 정렬하면 7, 6, 4, 1, 1, 0이 되고, 인덱스 번호를 붙혀보면
0 7
1 6
2 4
3 1 -> 최초로 조건을 만족하므로 인덱스 번호 3이 H-Index
4 1
5 0
#include <string> #include <vector> #include <algorithm> using namespace std; int solution(vector<int> citations) { int answer = 0; sort(citations.begin(), citations.end(), greater<>()); // 내림차순 // 인덱스의 크기가 해당 인덱스의 citations 값보다 크거나 같을 때 H-Index for(; answer < citations.size(); answer++) { if(answer >= citations[answer]) break; } return answer; }
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Level 2] 타겟 넘버 (C++) (0) 2020.11.05 [프로그래머스/Level 2] 구명보트 (C++) (0) 2020.11.05 [프로그래머스/Level 2] 더 맵게 (C++) (0) 2020.11.04 [프로그래머스/Level 2] 소수 찾기 (C++) (0) 2020.11.03 [프로그래머스/Level 2] 카카오프렌즈 컬러링북 (C++) (0) 2020.11.03