✏️ 문제
문제 파악
이분 탐색으로 푸는 거의 대표적인 문제!!
알고리즘
- 매개 변수 탐색
- 이분 탐색
코드
n = int(input())
req = sorted(list(map(int, input().split())))
m = int(input())
if (sum(req) <= m):
print(max(req))
else:
start, end = 1, max(req)
while start <= end:
mid = (start+end) // 2
use = 0
for i in range(n):
if mid >= req[i]:
use += req[i]
else:
use += mid
if use > m:
end = mid - 1
else:
start = mid + 1
print(end)
'PS > 백준' 카테고리의 다른 글
[Python] 17266번 어두운 굴다리 (0) | 2024.07.30 |
---|---|
[Python] 1654번 랜선 자르기 (0) | 2024.07.26 |
[Python] 1072번 게임 (2) | 2024.07.26 |
[Python] 2776번 암기왕 (0) | 2024.07.26 |
[Python] 7795번 먹을 것인가 먹힐 것인가 (0) | 2024.07.26 |