Algorithm/Programmers

[Python] H-Index

느낌표 공장장 2022. 9. 22. 23:37

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


풀이과정

문제 이해가 잘 가지 않아 H-Index에 대해 찾아보게 되었고, H-Index 설명대로 구현하니 해결할 수 있었다. 

H-Index 구하는 법
: 연구자의 전체 논문을 피인용 순으로 정렬한 후, 논문의 순번과 피인용 횟수를 비교하여 피인용 횟수가 논문의 순번보다 작아지기 시작하는 직전의 순번이 연구자의 H-Index가 된다.

참고 링크 ➡︎ https://www.ibric.org/myboard/read.php?Board=news&id=270333 

 


코드

def solution(citations):
    citations.sort(reverse=True)  # 피인용 순으로 정렬

    quotation_idx = 0
    for i in range(len(citations)):
        if citations[i] <= quotation_idx:  # 피인용 횟수가 논문 순번보다 작거나 같다면 h-index
            return quotation_idx
        quotation_idx += 1

    return quotation_idx    # 피인용 횟수가 다 같은 경우

'Algorithm > Programmers' 카테고리의 다른 글

[Java] 완주하지 못한 선수  (0) 2022.10.01
[Java] 올바른 괄호  (0) 2022.10.01
[Python] 후보키  (0) 2021.10.28
[Python] 셔틀버스  (0) 2021.10.27
[Python] 오픈채팅방  (0) 2021.10.26