문제링크
https://leetcode.com/problems/h-index/description/
H-Index는 연구자의 생산성과 연구 영향력을 측정하는 지표입니다. 연구자가 n개의 논문을 발표했을 때, 각 논문은 특정 인용 횟수를 가지고 있습니다. 이때, 연구자는 다음 조건을 만족하는 H-Index를 가집니다.
h로 정의되며,h개의 논문이 각각 최소 h번 인용되었고,h번 이하로 인용된다는 조건을 충족해야 합니다.H-Index를 계산하는 문제를 해결하세요.
citations: 정수로 구성된 배열. 각 요소는 해당 논문의 인용 횟수를 나타냅니다.plaintext
코드 복사
Input: citations = [3, 0, 6, 1, 5]
Output: 3
Explanation:
- H-index는 3입니다.
- 최소 3개의 논문이 3번 이상 인용되었습니다 ([3, 6, 5]).
- 나머지 논문들은 각각 3번 이하로 인용되었습니다.
plaintext
코드 복사
Input: citations = [1, 3, 1]
Output: 1
Explanation:
- H-index는 1입니다.
- 최소 1개의 논문이 1번 이상 인용되었습니다.
- 나머지 논문들은 1번 이하로 인용되었습니다.
class Solution(object):
def hIndex(self, citations):
# 인용 횟수를 내림차순으로 정렬
citations.sort(reverse=True)
h = 0
for i in range(len(citations)):
if citations[i] >= i + 1: # i+1 ; 현재 확인한 논문 수
# 현재까지 확인한 논문의 개수보다 인용 횟수가 크거나 같은가
h = i + 1
else:
break
return h
영어라 이해가 쉽지않았는데
막 어려운 문제는 아니였다.
H-Index h는 다음 두 조건을 모두 만족해야 함
즉, h는 인용된 논문의 개수와 최소 인용 횟수 간의 균형점