프로그래머스

[프로그래머스] H-Index (파이썬)

sami355 2023. 4. 4. 12:20

문제

풀이

문제가 이해되지 않아서 고생한 문제다. 문제에서 H-index에 대해서 설명하며 다음과 같은 조건을 말해준다.

1. H번 이상 인용된 논문이

2.H편 이상이고

3. 나머지는 H번 이하 인용된다

해당 조건을 만족하는 H의 값들 중에서 가장 큰 수를 찾아서 반환하면 된다.

 

문제를 풀기 위해 내림차순으로 정렬을 해준다.

그후 리스트의 배열과 리스트의 원소값과 비교를 한다. (idx >= citation)

만약 해당 조건을 만족한다면 현재 위치의 원소부터는 1,2,3번 조건을 만족하지 못한다는 이야기가 된다.

그러므로 이전 idx를 반환하여준다. 이때 "=" 조건도 꼭 붙여주어야 한다.

추가로 H-Index에 대해서 아래의 게시글을 보면 이해가 빠를듯 하다.

https://www.ibric.org/myboard/read.php?Board=news&id=270333 

 

[연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가?

일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문

www.ibric.org

 

코드

def solution(citations):
    answer = 0
    citations.sort(reverse = True)

    for i in range(len(citations)):
        if i >= citations[i]:
            return i
    
    return len(citations)