유형 : 정렬

시간 : 10분, 인터넷 검색

 

*h회 이상 인용된 논문이 h개 이상* 있으면 모두 후보가 된다. 
def solution(citations):
    answer = 0
    citations.sort(reverse = True)
    true = []
    for i in range(len(citations)):
        if i + 1 <= citations[i]:
            true.append(i+1)
    if true:
        return max(true)
    else:
        return 0

 

따라서, i+1 (현재 그 논문보다 많이 또는 똑같이 인용된 논문의 개수) 가 현재 논문 인용 횟수보다 많으면 h-index의 후보가 될 수 있다. 

예)

[9, 9, 9, 9, 9] 인 경우

h = 5가 되어야 한다. 0이 아니라!

이런 경우를 모두 고려하기 위해서, 주어진 조건을 만족하는 경우 모두 true 배열에 append한 뒤 true 배열의 max 값을 return하도록 하였다. 

복사했습니다!