본문 바로가기
Algorithm

[프로그래머스] 정렬 - H-Index(파이썬 문제 풀이)

by j-y 2021. 3. 18.
반응형

문제 링크

 

코딩테스트 연습 - H-Index

H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

programmers.co.kr

 

프로그래머스 고득점 Kit 정렬의 마지막 문제 H-Index 입니다.

문제에 주어진 조건대로 우선 구현을 하고 효율성을 높여보려고 했는데, 구현하고 제출하니 통과가 되어버렸네요..!

저는 아래와 같은 방법으로 구현했습니다.

 

1. 인용된 논문 수의 최대값 만큼 리스트를 하나 만든다.

2. 1부터 인용된 논문 수의 최대값까지 반복문을 돌며 1이상 논문은 몇개, 2이상 논문은 몇개, 3이상 ... 을 반복한다.

3. 각 인덱스의 논문의 수 중 H-Index 조건에 맞는 값 중 최대값을 찾는다.

 

문제 풀이(파이썬)


def solution(citations):
    maxx = max(citations)
    chk = [0] * maxx

    res = 0
    for i in range(1, maxx):
        for c in citations:
            if c >= i:
                chk[i] += 1
        if chk[i] >= i and i > res:
            res = i

    return res
반응형

댓글