Dolphins의 HelloWorld

Programmers > 코딩테스트 연습 > 정렬 > H-index 본문

Algorithm/Programmers 문제풀이

Programmers > 코딩테스트 연습 > 정렬 > H-index

돌핀's 2018. 9. 26. 14:21

문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42747?language=cpp




풀이




먼저 인용횟수를 저장한 vector함수에 대해 내림차순으로 정렬하였다.


입출력 예시를 정렬했다 치면 {6, 5, 3, 1, 0}이 되고


for (int i = 0; i < citations.size(); i++) {

        if(citations[i] < i+1)

            return i;

}


여기서 i+1은 인용된 논문의 수인데 


이렇게 인용 횟수가 인용된 논문의 수보다 작아지는 순간이 H-Index보다 1 커지는 순간이며


고로 그 전의 index를 return하면 답을 도출해낼 수 있다.


마지막까지 조건문에 안걸리는 경우도 있는데 이 경우


답이 나올 경우의 수는 H-index가 논문의 수 그 자체인 경우밖에 없으므로


이것을 return한다.

Comments