알고리즘/프로그래머스문제풀이

[Python/프로그래머스]H-Index_정렬

개발자 덕구🐾 2022. 6. 11. 14:29
728x90

 

 

 

 

 

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

 

코딩테스트 연습 - H-Index

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

programmers.co.kr

 

 

 


 

 

 

문제를 보고 나혼자 풀수있을 것같았다.

 

 

 

 

처음 만든 코드 : (하나의 test case에서 틀림)

def solution(citations):
    answer = 0
    citations.sort(reverse=True)
    for i, v in enumerate(citations) :
        if  (i +1)> v :
            return i
    return answer

 

문제를 읽고 만든 코드이다. 

 

 

딱 하나의 테스트 케이스에서 틀렸다. 

 

틀린 테스트 케이스를 찾았는데 [4,4,4]인 경우다. 

답은 3이 되는데 해당 코드에서는 0을 반환한다. 

 

 


 

 

위 코드에서 아주 조금만 바꾸면 정답이 되는데 

 

정답 코드 : 

 

def solution(citations):
    answer = 0
    citations.sort(reverse=True)
    for i, v in enumerate(citations) :
        if  i >= v :
            return i
    return len(citations) # [4,4,4]의 경우를 위해 # i+1 이 v보다 클 경우가 없을 경우

 

 

 

여기서 i를 반환하는 이유는 i가 앞에 있는 논문의 수를 나타내기 때문이다. 

 

 

 

 

 

 

참고 블로그 : 

 

 

 

 

https://yunaaaas.tistory.com/56

 

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

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

yunaaaas.tistory.com

 

 

<테스트 케이스를 찾은 블로그>

https://sumin-itstory.tistory.com/6

 

[프로그래머스] [Python] H-Index 풀이방법 + Test case

목차 1. 문제 내용 2. 문제 해석 3. 코드 작성 4. 최종 코드 5. 테스트 케이스 부록 1. 문제 내용 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하

sumin-itstory.tistory.com

 

 

복습 : 

20220621

20220623

✅ 20220626

반응형