본문 바로가기
알고리즘-python/Programmers 문제

[프로그래머스/2단계/파이썬(Python3)] H-index

by 빅데이터1020 2021. 6. 27.
SMALL

문제출처

 

 

코딩테스트 연습 - H-Index

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

programmers.co.kr

 

풀이코드 (통과 못함)

테스트케이스를 6개로 추가해서 코드를 돌려봤을 땐 다 통과됐었는데,

채점을 하면 12.5점이 나와서 코드가 아예 잘못 됐다는 걸 알고 아예 뜯어 고쳤습니다.

def solution(citations):
    
    citations.sort(reverse=True)
    i = 0
    while True:
        if i >= len(citations):
            answer = 0
            break
        elif citations[i] <= i+1:
            answer = citations[i]
            break
        else:
            i += 1
    return answer

내림차순 정렬하지 말고, 오름차순 정렬로 해서 다시 생각

 

풀이코드 (정답)

def solution(citations):

    citations.sort()
    num=len(citations)
    
    while True:
        for i, value in enumerate(citations):
            if value >= num and len(citations[i:]) >= num:
                return num
            
            else:
                num-=1
                continue

 

LIST