문제링크
https://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
n = len(citations)
citations.sort(reverse=True)
for i in range(n):
h = i
if citations[i] <= h:
answer = h
break
elif citations[i] > h:
answer = n
return answer
아직 잘 이해를 하지 못했다. 반복문을 풀어쓰면 이렇게 된다.
i = 0, 6 <= 0 -> x
i = 1, 5 <= 1 -> x
i = 2, 3 <= 2 -> x
i = 3, 1 <= 3 -> x
인덱스가 인용된 편수를 말하기 때문에 3번 이상 인용된 논문의 편수가 3개 이상인 걸로 결과가 나온다.
문제에 첨부된 링크에서 H-Index에 관한 설명은 내림차순 정렬 후, h-index (f) = max{i∈N : f(i) ≥ i} 라는데 반대로 푼 것 같다
'Problem Solving > Programmers' 카테고리의 다른 글
| [Programmers Java] 이모티콘 할인행사 (0) | 2023.03.23 |
|---|---|
| [Programmers Java] 자물쇠와 열쇠 (0) | 2022.10.23 |
| [Programmers Python] 스택/큐 - 기능개발 (0) | 2022.07.08 |
| [Programmers Python] 정렬 - 가장 큰 수 (0) | 2022.07.03 |
| [Programmers Python] 정렬 - K번째수 (0) | 2022.07.03 |