Algorithm
백준
Python
랜선 자르기

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)