반응형
문제링크
https://school.programmers.co.kr/learn/courses/30/lessons/42747
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
코드 및 풀이
정렬을 진행해준후에(내림차순!)
반복문을 도는데 i < citations[i]라면 answer++하고 아니라면 break를 한다.
이제 i >= citations[i]이기 때문에 갯수는 정해졌으니 return을 하면 됩니다.
/*
H-index
발표한 n평중 h번이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 h-index
문제의 예시 5편 발표 -> 3번이상 인용
일단 역순으로 sort(내림차순)
내림차순 된 인덱스와 값을 비교한다. i + 1 < v[i] -> i < v[i] 라면 그것이 바로 h-index
*/
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(int a, int b){
return a > b;
}
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(),citations.end(), compare);
for(int i =0; i < citations.size();i++){
//h번이상 인용된 논문이 h편 이상 / 나머지 h번 이하 인용되었다면 h의 최댓값
if(i<citations[i]){
answer++;
}else
break;
}
return answer;
}
반응형
'알고리즘 > c++ 프로그래머스' 카테고리의 다른 글
[프로그래머스] 연속 부분 수열 합의 개수 (0) | 2023.05.11 |
---|---|
[프로그래머스] [1차]캐시 C++ (2018 카카오 블라인드 코테) (0) | 2023.05.11 |
[프로그래머스] 괄호 회전하기 c++ (풀이, 코드, 스택) (1) | 2023.05.10 |
[프로그래머스] 귤 고르기 c++ (풀이, 코드, 정렬의 중요성?) (0) | 2023.05.09 |
[프로그래머스] 멀리 뛰기 c++ (dp, 코드 및 설명) (0) | 2023.05.09 |
댓글