728x90
SMALL
이분 탐색 문제
https://www.acmicpc.net/problem/2512
💡 풀이 코드 (성공)
import sys
n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
amounts = int(sys.stdin.readline())
def binary_search(n, arr, amounts):
start = 1
end = max(arr)
answer = 0
while start <= end:
mid = (start + end) // 2
sums = 0
for i in arr:
sums += min(i, mid)
if sums <= amounts:
start = mid + 1
answer = mid
else:
end = mid - 1
return answer
print(binary_search(n, arr, amounts))
728x90
LIST
'Algorithm > Binary Search' 카테고리의 다른 글
[백준] 17266 : 어두운 굴다리 (파이썬) (0) | 2024.08.17 |
---|---|
[백준] 1939 : 중량제한 (파이썬) (0) | 2024.08.11 |
[백준] 2110 : 공유기 설치 (파이썬) (0) | 2024.08.08 |
[백준] 1654 : 랜선 자르기 (파이썬) (0) | 2024.08.07 |