코딩테스트

H-Index

개발천재나천재 2023. 1. 4. 15:19

문제

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

 

프로그래머스

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

programmers.co.kr

 

 

 

풀이

"""
0 1 3 5 6 
문제 해결 방법
(역순으로 citations를 정렬한다.)
1. h는 0부터 하나 하나씩 증가한다.
2. 1번째 : citations값중 h번 이상 인용된거 h_count
3. 2번째 : h_count가 h개 이상인지를 확인한다.
3. max를 찾는다.
"""
def solution(citations):
    answer = 0
    citations.sort(reverse= True)
    h = 0
    while (True):
        h_count = 0
        check = False
        # 6 5 3 1 0
        for elem in citations:
            # 1번째 : citations값중 h번 이상 인용된거 h_count
            if (elem >= h):
                h_count += 1
            # 2번째 : h_count가 h개 이상인지를 확인한다.
            if (h_count >= h):
                answer = h
                check = True
                break
                
        if (check):        
            h += 1
        else:
            break
    
    return answer

 

 

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