[programmers/py] H-Index

승민·2023년 5월 16일

알고리즘

목록 보기
29/171

H-Index

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

문제 설명

어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.

즉, 인용수를 내림차순 정렬 후 논문 순서가 인용 수와 같거나 커지는 index를 h index라고 한다.

풀이

내림차순 정렬을 통해 각 논문의 인용된 횟수를 정렬함

def solution(citations):
    answer = 0
    m = sorted(citations, reverse = True)
    print(m)
    for i in range(len(m)):
        # i+1은 각 논문의 h값 이상 인용된 논문 수
        # 1은 6번 이상 인용된 논문 수
        # 2는 5번 이상
        # 3은 3번 이상
        # 4는 1번 이상
        # 5는 0번 이상
        h = m[i]
        if h < i+1:
            return i
        
    return len(m)

0개의 댓글