on my way
[프로그래머스 코딩테스트 연습] 정렬 > H-Index (Python3) 본문
반응형
def solution(citations):
answer = 0
citations.sort(reverse=True)
for i in range(len(citations)):
if(citations[i] < i+1):
return i
return len(citations)
- 정렬: 먼저 인용 횟수 리스트 citations를 내림차순으로 정렬해서 가장 많이 인용된 논문이 첫 번째에 위치하게 된다.
- 루프를 통해 조건 확인:
- 이 정렬된 리스트를 순차적으로 검사
- 만약 논문의 인용 횟수 citations[i]가 그 논문보다 인덱스가 높은 i+1보다 작다면, 그 i가 H-Index
- H-Index 반환: 만약 모든 논문이 그 인덱스보다 높은 인용 횟수를 가지고 있다면, 전체 논문의 수가 H-Index
- 예를 들어, 인용 횟수가 [6, 5, 3, 1, 0]으로 정렬된 경우,
- 첫 번째 논문(6번 인용)은 1보다 크고,
- 두 번째 논문(5번 인용)은 2보다 크고,
- 세 번째 논문(3번 인용)은 3보다 크고,
- 네 번째 논문(1번 인용)은 4보다 작기 때문에, H-Index는 3
반응형
'algorithm > Python' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습] 옹알이(2) (Python3) Lv1 (0) | 2024.08.29 |
---|---|
[프로그래머스 코딩테스트 연습] 정렬 > K번째수 (Python3) Lv1 (0) | 2024.08.27 |
[프로그래머스 도서실습 내일은 코딩테스트] 파트1.문자열 다루기 : 숨어있는 숫자의 덧셈(2) (Python3) (0) | 2024.08.26 |
[프로그래머스 도서실습 내일은 코딩테스트] 파트1.문자열 다루기 : OX퀴즈 (Python3) (0) | 2024.08.24 |
[프로그래머스 도서실습 내일은 코딩테스트] 파트1.문자열 다루기 : 옹알이(1) (Python3) (0) | 2024.08.23 |