오늘은 여기까지
[백준] 이상한 술집 - 파이썬 Python 본문
https://www.acmicpc.net/problem/13702
개념: 이분탐색
막걸리 양을 조절해가면서 막걸리를 K번 나눠줄 수 있는 최대값을 찾는 과정이다.
따라서 이분탐색으로 풀면 될 것이라고 생각했고, 막걸리를 K번 이상 나눠줄 수 있으면 mid값을 증가 시켜서 더 큰 값이 있는지 찾고 아니라면 mid값을 감소 시킨다.
N, K = map(int, input().split())
mliter = []
for _ in range(N):
mliter.append(int(input()))
mliter.sort()
start = 1
end = max(mliter)
while start<=end:
mid = (start+end) // 2
cnt = 0
for i in mliter:
cnt += i // mid
#print(start, mid, end, cnt)
if cnt >= K:
result = mid
start = mid + 1
else:
end = mid - 1
print(result)
'Problem Solving' 카테고리의 다른 글
[백준] 숫자 야구 - 파이썬 Python (3) | 2024.10.03 |
---|---|
[백준] 용액 - 파이썬 Python (1) | 2024.10.01 |
[백준] 어두운 굴다리 - 파이썬 Python (1) | 2024.09.24 |
[백준/2805] 나무 자르기 - 파이썬 Python (0) | 2024.09.24 |
[백준] 선분 위의 점 - 자바 Java (0) | 2024.09.22 |