본문 바로가기

코테

[프로그래머스] <H-Index> 파이썬

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

 

코딩테스트 연습 - H-Index

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

programmers.co.kr

def solution(citations):
    answer = 0
    for cite in citations :
        if answer < citations.count(cite) and cite >citations.count(cite) :
            answer = cite
    return answer

정확성 테스트

테스트 1 실패 (4.16ms, 10.2MB)
테스트 2 실패 (9.47ms, 10.2MB)
테스트 3 실패 (7.26ms, 10.2MB)
테스트 4 실패 (6.06ms, 10.3MB)
테스트 5 실패 (9.25ms, 10.2MB)
테스트 6 실패 (11.60ms, 10.2MB)
테스트 7 실패 (2.08ms, 10.2MB)
테스트 8 실패 (0.08ms, 10.1MB)
테스트 9 실패 (0.27ms, 10.2MB)
테스트 10 실패 (2.79ms, 10.2MB)
테스트 11 실패 (13.05ms, 10.2MB)
테스트 12 실패 (0.56ms, 10.2MB)
테스트 13 실패 (11.19ms, 10.2MB)
테스트 14 실패 (9.55ms, 10.2MB)
테스트 15 실패 (11.22ms, 10.2MB)
테스트 16 통과 (0.01ms, 10.2MB)

채점 결과

정확성: 6.3

합계: 6.3 / 100.0

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

문제가 그냥 이해가 안돼서 남의 풀이 봄

def solution(citations):
    citations.sort(reverse=True)
    answer = max(map(min, enumerate(citations, start=1)))
    return answer

이 풀이보고 문제 이해함

 

def solution(citations):
    citations.sort(reverse = True)
    answer = []
    for i, d in enumerate(citations, start=1) :
        answer.append(min(i,d))
    return max(answer)
    

정확성 테스트

테스트 1 통과 (0.22ms, 10.2MB)
테스트 2 통과 (0.36ms, 10.2MB)
테스트 3 통과 (0.32ms, 10.2MB)
테스트 4 통과 (0.28ms, 10.2MB)
테스트 5 통과 (0.38ms, 10.3MB)
테스트 6 통과 (0.40ms, 10.2MB)
테스트 7 통과 (0.16ms, 10.2MB)
테스트 8 통과 (0.03ms, 10.2MB)
테스트 9 통과 (0.05ms, 10.2MB)
테스트 10 통과 (0.18ms, 10.2MB)
테스트 11 통과 (0.44ms, 10.4MB)
테스트 12 통과 (0.07ms, 10.2MB)
테스트 13 통과 (0.43ms, 10.2MB)
테스트 14 통과 (0.38ms, 10.2MB)
테스트 15 통과 (0.45ms, 10.2MB)
테스트 16 통과 (0.01ms, 10.2MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0