프로그래머스 Lv.2 H-Index 파이썬
2024. 7. 10. 15:26ㆍ알고리즘문제 풀이/프로그래머스
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42747
풀이
어떤 과학자가 발표한 논문 n편 중,
h번 이상 인용된 논문이 h편 이상이고
나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index이다.
우선 논문을 내림차순으로 정렬한다.
H-index의 값을 h로 한다면
0번째 ~ (h-1)번째는 h값보다 클 것이다.
h번째부터 마지막번째는 h값 이하일 것이다.
예시)
citations = [3,0,1,6,5]
citations를 내림차순으로 정렬하면
citations = [6,5,3,1,0]
citations[0] = 6 > 0
citations[1] = 5 > 1
citations[2] = 3 > 2
citations[3] = 1 < 3
citations[4] = 0 > 4
여기서 h값은 3이다.
전체 코드
def solution(citations):
citations.sort(reverse=True)
n = len(citations)
for h in range(n):
if citations[h] <= h:
return h
return n'알고리즘문제 풀이 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 Lv.2 카펫 파이썬 (0) | 2024.07.10 |
|---|---|
| 프로그래머스 Lv.1 최소직사각형 파이썬 (0) | 2024.07.10 |
| 프로그래머스 Lv.3 디스크 컨트롤러 파이썬(Python) (0) | 2024.07.10 |
| 프로그래머스 Lv.2 전화번호 목록 (1) | 2024.07.10 |
| 프로그래머스 Lv.2 의상 (0) | 2024.07.10 |