Programmers

[프로그래머스] H-Index Python 풀이

728x90

 

 

문제

 

 

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42747

 

프로그래머스

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

programmers.co.kr

 

 

 

 

CODE

def solution(citations):
    h_idx = 0
    citations.sort(reverse=True)
    for i in range(len(citations)):
        if citations[i] > h_idx:
            h_idx = i + 1
        else:
            break
    return h_idx

 

 

 

 

 

풀이

💡 idea

1. citations를 역순 정렬

 

2. 가장 인용 횟수가 많은 논문부터 돌며, 현재 논문의 인용 수가 h-index보다 많다면 현재까지 돈 논문 수로 업데이트

    -  h번 이상 인용된 논문 h편 이상  : citations[i] (h번 이상 인용된 논문) > h_idx

    -  나머지 논문이 h번 이하 인용  : 역순 정렬했으므로 나머지 논문은 h번 이하 인용되었다는 전제

 

 

 

 

 

728x90

'Programmers' 카테고리의 다른 글

[프로그래머스] 가장 큰 수 Python 문제 풀이  (0) 2023.11.23