프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설계
오름차순 정렬하고 이분탐색이용해서 , h를 0부터 논문리스트에서 최대 인용 횟수까지 반복문
1. h번 이상 인용된 논문 수 구할 때는 bi_left로 구하고 리스트길이 - 그 리턴 인덱스가 h번 이상 인용된 논문 수
2. h번 이하 인용된 논문 수 구하는 건 bi_right로 구하고 리스트 길이 - 그 리턴 인덱스가 h번 이하 인용된 논문 수
1과 2 조건을 둘 다 만족하는 건 결과 리스트에 넣어준다.
그리고 최대 값 리턴
문제 풀이
from bisect import bisect_left,bisect_right
def solution(citations):
answer = []
n=len(citations)
citations.sort()
h=max(citations)
for i in range(0,h+1):
up=n-bisect_left(citations,i)
down=n-bisect_right(citations,i)
if up>=i and down<=i:
answer.append(i)
return max(answer)
정리
nums=[0,1,2,3,4,5] 일 때
bisect_left(nums,2) 는 리턴값이 2(인덱스)
bisect_right(nums,2)는 리턴값이 3(인덱스)
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / python] 가장 큰 수 (0) | 2025.05.04 |
---|---|
[프로그래머스 / python] 베스트앨범 (0) | 2025.05.04 |
[프로그래머스 / python] 의상 (0) | 2025.05.01 |
[프로그래머스 / python] [PCCE 기출문제] 10번 / 공원 (0) | 2024.10.27 |
[프로그래머스 / swift] 달리기 경주 (0) | 2024.07.18 |