TIL

99클럽 TIL (240802)

wnwlals13 2024. 8. 2. 13:36

[Middler] H-Index

 

오늘의 회고

h-index에 대한 설명이 어려워서 이해가 안갔다. '논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 h-index'... 사실 이글을 열댓번은 읽은 것 같은데, 아직도 정확하게 이해가 되지 않는 문장이다. 도저히 문제의 해결 방향을 잡을 수가 없어서 몇 번 풀다가 다른 사람들의 풀이를 참조했다.

 

내 생각

우선 문제를 접해보았으니, h-index에 대해서 기억을 해두고 있어야 겠다.

  • H-Index란?
    • 가장 많이 인용된 논문순으로 정렬한 후 피 인용수가 논문수와 같아지거나 작아지기 시작하는 숫자

때문에 아래와 같이 풀이할 수 있다.

  1. citations 리스트를 내림차순으로 정렬
  2. 논문수가 피인용수보다 작거나 같다면 h-index 를 갱신한다.

 

문제 풀이

1. python 

def solution(citations):
    answer = 0
    
    # 최댓값을 구하기 위해 소트
    citations.sort(reverse=True)
    
    # h의 최댓값 = h-index
    # h의 최댓값 = n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었을 때
    for i in range(len(citations)) :
        h = citations[i]
        
        if h >= i+1 :
            answer = i+1
    
    return answer

 

2. javascript

- 파이썬과 동일합니다.

 


 

[Challenger] 뉴스 전하기

 

다시 풀어보기..