[프로그래머스] LV.2 H-Index

 

1. 문제 : Link

h번 이상 인용된 논문 중 index값이 가장 큰 수

 

2. 풀이

index는 len(citations)에 의해 결정된다.

따라서 index로 for문을 돌려주고 index보다 큰 값의 개수를 세고 그 개수가 index보다 작다면 다음 index로 넘어간다.

만약 index 가 없다면 0 reutrn

 

sort()를 해줄필요는 없었다. (index가 크기순이기 때문)

 

3. 코드

def solution(citations):
    answer = 0
    for i in range(1, len(citations)+1):
        big = 0
        for cit in citations:
            if i <= cit:
                big += 1
        if i > big:
            continue
        answer = i
    return answer

좀더 편한 풀이 (내림차순 정렬 후 idx와 값 비교)

def solution(citations):
    citations.sort(reverse=True)
    for idx , citation in enumerate(citations):
        if idx >= citation:
            return idx
    return len(citations)
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기