본문 바로가기
💻 하나씩 차곡차곡/프로그래머스 (Python)

[프로그래머스/Lv.2/파이썬] H-Index

by 뚜루리 2024. 10. 16.
728x90
320x100

먼저 H-Index 를 이해하는 게 우선...

 설명 들으니까 대에에에충 알겠다.... 

포인트는 자신이 저널에 등재한 전체 논문중 많이 인용된 순으로 정렬한 후, 피인용수가 논문수와 같아지거나 피인용수가 논문수보다 작아지기 시작하는 숫자가 바로 나의 h가 됩니다. 

 

설명 링크 : https://www.ibric.org/bric/trend/bio-series.do;jsessionid=E9A70E25FF98E2D67C77469C6908F3D7?mode=series_view&newsArticleNo=8802417&articleNo=8882714&beforeMode=latest_list#!/list

 

[연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? | 연재 > Bio뉴스 > 동향 | BRIC

일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 ...

www.ibric.org

 


 

풀이1

def solution(citations):
    citations = sorted(citations)
    leng = len(citations)
    
    for i in range(leng):
        if citations[i] >= leng-i:
            return leng-i
    return 0

 

 

(+) 덧붙이기 

1. 정렬함. 

citations = sorted(citations)

 

2. for문을 돌려가며 비고

    for i in range(leng):
        if citations[i] >= leng-i:
            return leng-i
  • 피인용수가 논문수와 같아지거나 피인용수가 논문수보다 작아지기 시작하는 숫자가 바로 나의 h 를 따라서 인용수와 논문수를 비교한담에 작아지거나 같아지는 그 때가 바로 H-index!!!!!

 

 

풀이2

def solution(citations):
    citations.sort(reverse=True)
    answer = max(map(min, enumerate(citations, start=1)))
    return answer
  • 그런데 Enumerate 함수를 활용하여 더 간단하게 짜는 방법도 있더라.
728x90
320x100