1654 - 랜선 자르기 문제 Link
https://www.acmicpc.net/problem/1654 (opens in a new tab)
풀이
내 풀이는 계속 실패가 났다.
이분 탐색의 원리를 생각하면 간단하게 풀리는 문제이다.
import sys
K, N = map(int, input().split())
lan = [int(sys.stdin.readline()) for _ in range(K)]
start, end = 1, max(lan)
while start <= end:
mid = (start + end) // 2
lines = 0
for i in lan:
lines += i // mid
if lines >= N:
start = mid + 1
else:
end = mid - 1
print(end)