연습

프로그래머스 h-index

onaeonae1 2024. 6. 17. 17:06
def solution(citations):
    answer = len(citations)
    citations.sort(reverse=True)
    for idx, citation in enumerate(citations):
        if citation <= idx:
            answer = idx
            break
    return answer

 

문제 설명이 많이 헷갈리는데 그냥 자주 읽어보고 예시 들어보고 그러는게 맞는듯

 

일단 처음에 접근할 때는 h 이상 인용된게 h개 이상이고, h 이하로 인용된게 h개 이하라고 해서 많이 헷갈렸음

그래서 bigger, smaller 이딴식으로 두고 처리했었는데 그러면 안됨

 

큰 것부터 정렬해두고 idx >= citation 인 경우 answer = idx 로 두고 break 하면 됨

왜 그러냐면 h-index 조건이 이렇기 때문임 (그냥 그럼)

 

h-index는 어떻게 보면 중간이 되는 지점이라고 생각하면 되는데, item 보다 index 가 큰 경우가 그 포인트가 됨

 

그냥 양치기가 답인듯