문제 링크
LV 2: H-Index
구현 방식
- H-Index에 대한 설명이 이해하기 좀 머리아팠는데,
- 그냥 citations의 최댓값( = H-Index의 후보중 최댓값)부터 0까지 역순으로 for문을 돌면서, h값이 H-Index의 조건을 만족하는 지 확인해주면 된다. 만족한다면 역순으로 순회하는 중이기 때문에 h를 바로 return
- 각 h마다 citations를 순회하면서 citations[j]가 h 이상인 경우의 수( = count)를 센다. 해당 경우의 수가 h 이상이라면 h는 H-Index가 된다
코드
def solution(citations):
N = len(citations)
for h in range(max(citations), -1, -1):
count = 0
for j in range(N):
if h <= citations[j]: count += 1
if h <= count: return h