https://school.programmers.co.kr/learn/courses/30/lessons/42747

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


풀이 과정

어떤 과학자가 발표한 논문 중, h번 이상 인용된 논문이 h개 이상이면 그 과학자의 H-index를 h라 한다. 논문의 인용 횟수를 줄테니 H-index를 구하라는 문제이다.

 

논문 인용 횟수를 내림차순 정렬 후, 1부터 시작하는 논문의 index가 논문 인용 횟수보다 커지는 순간의 바로 이전의 index가 어떤 과학자의 H-index가 된다.

 

20, 19, 18, 17, 16, 15, 11, 5, 4, 3     논문

1     2    3    4    5   6   7   8  9  10    index

 

위의 예시를 봤을 때, index 8에서 논문 인용 횟수보다 index가 커지므로 H-index는 7이 된다.

 

 


소스 코드

def solution(citations):
    citations.sort(reverse=True)
    index = 1
    answer = 0
    for citation in citations:
        if citation < index:
            return index-1
        index += 1
    return index-1

 

+ Recent posts