[프로그래머스/파이썬] 정렬 H_Index

bye9·2021년 2월 15일
0

알고리즘(코테)

목록 보기
65/130

https://programmers.co.kr/learn/courses/30/lessons/42747


알고리즘 분류

  • 정렬

문제풀이

H_Index계산법에 대한 이해부터 필요하다.
예를 들어 array=[10,8,5,4,3]일 경우 인덱스는 [1,2,3,4,5]이다. 이때 10>=1, 8>=2, 5>=3, 4>=4, 3>=5(성립x)에서 H_Index값은 해당 조건을 만족하는 최대 인덱스 값이다.(4)

이를 위해서 내림차순으로 정렬 후 조건을 만족할 경우 result리스트에 추가해주고 최종적으로 가장 마지막에 추가해준 값이 최대 인덱스 값이므로 pop해준다.

*array=[0,0,0]의 경우 만족하는 답은 0이 나와야 하므로 기본 result는 0을 가진다.

소스코드

def solution(citations):
    
    citations.sort(reverse=True)

    result=[0]
    for i in range(1,len(citations)+1):
        if i<=citations[i-1]:
            result.append(i)

    return result.pop()

0개의 댓글