프로그래머스 코딩테스트 고득점 Kit -
정렬
- Lv 2. H-Index (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/42747
def solution(citations):
answer = 0
# n편 중 h번 이상 인용된 논문이 h편 이상, h의 최댓값 구하기
citations = sorted(citations)
h = []
for i in range(len(citations)):
c_more = 0 # citations[i] 이상 인용된 논문의 개수를 담을 변수
# citations[i]번 이상 인용된 논문의 개수 세기
# for j in citations:
# if(j >= citations[i]):
# c_more += 1
c_more = len(citations[i:])
if(c_more >= citations[i]): # citations[i]번 이상 인용된 논문이 citations[i]편 이상일 때
h.append(citations[i]) # -> h는 citations[i]
else: # citations[i]번 이상 인용된 논문이 citations[i]편 이하일 때
h.append(c_more) # -> h는 c_more
answer = max(h) # 이런 모든 h들 중 최댓값이 정답
return answer
# solution([7,7,7,7,3])
citations
에서 h
번 이상 인용된 논문이 **h
편 이상일 때와** 이하일 때의 h
값이 다르기 때문에 이에 대한 구분이 필요하다.