

def solution(citations):
answer = 0
citations.sort() # 오름차순 정렬
for i in range(0, len(citations) + 1): # h가 가장 클 수 있는 경우부터 확인해서 최댓값 찾기
h = len(citations) - i # 0 <= h <= len(citations)
h_idx = -1
for j in range(0, len(citations)):
if citations[j] >= h: # h번 이상 인용된 논문을 찾았다면 그 뒤의 것들은 모두 h번 이상임 (전체 길이 - j = h번 이상 인용된 논문의 수)
h_idx = j # 현재 인덱스 저장
break
if h_idx == -1: # h번 이상 인용된 논문이 없다면 패스
continue
if len(citations) - h_idx >= h: # h번 이상 인용된 논문이 h편 이상이라면 (꼭 h와 똑같을 필요가 없음!!)
answer = h # 현재 h가 최댓값임
break # 더 확인하지 않고 끝
return answer