문제
https://school.programmers.co.kr/learn/courses/30/lessons/42747
풀이과정
문제 이해가 잘 가지 않아 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 |