새소식

⌨️ Algorithms/프로그래머스

[Python] 프로그래머스 Lv2_H-Index

2022. 8. 19. 17:39

  • -

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

 

프로그래머스

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

programmers.co.kr

 

"""
입출력 예시)

citations = [3, 0, 6, 1, 5] -> 3
"""

def solution(citations):

    # citations를 내림차순으로 정렬
    citations.sort(reverse=True) 

    for h, citation in enumerate(citations):
      if h >= citation:
            return h # 인용된 수가 발표한 논문의 수와 같거나 작아지기 시작하는 숫자 

    return len(citations)

 

-> 마지막에 return len(citations) 없이 그냥 return h 만 하고 제출했더니 테스트 케이스 한개에서 실패했다... 

 

 

 

[연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가?

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

www.ibric.org

 

 

 

H-Index 문제는 오름차순과 내림차순 모두 가능하다.

 

  • 내림차순 코드 
def solution(citations):

    # citations를 내림차순으로 정렬
    citations.sort(reverse=True) 

    for h, citation in enumerate(citations):
      if h >= citation:
            return h # 인용된 수가 발표한 논문의 수와 같거나 작아지기 시작하는 숫자 

    return len(citations)
    
    
"""
citations 내림차순 정렬: [6, 5, 3, 1, 0]

h: 0
citation: 6

h: 1
citation: 5

h: 2
citation: 3

h: 3
citation: 1

3
"""

 

  • 오름차순 코드
def solution(citations):

    # citations 오름차순 정렬
    citations.sort()

    # 과학자가 발표한 논문의 수 
    n = len(citations)

    for i in range(n):
        # citations[i] -> i번 논문이 인용된 횟수
        # n-i -> 인용된 논문의 개수를 최댓값부터 하나씩 줄여나간 것(최댓값을 찾아야 하므로 가장 큰 값부터 시작)
        if citations[i] >= n-i: # h번 이상 인용된 논문이 h편 이상일 때
            return n-i

    return 0
    
    
"""
citations 오름차순 정렬: [0, 1, 3, 5, 6]
n: 5

i: 0
citations[i]: 0
n-i: 5

i: 1
citations[i]: 1
n-i: 4

i: 2
citations[i]: 3
n-i: 3

3
"""

 

 

 

 

 

참고)

 

https://yunaaaas.tistory.com/56

 

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

코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합

yunaaaas.tistory.com

 

https://velog.io/@jiffydev/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-89-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-H-Index

 

파이썬 알고리즘-89 (프로그래머스) H-Index

dd

velog.io

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!