[백준 1654번][Python/파이썬] 랜선 자르기

공학도 Lee·2023년 2월 20일
0

백준 문제 풀이

목록 보기
62/63
post-custom-banner

1. 문제


출처: 백준 1654번 랜선 자르기

2. 풀이


각 랜선을 정해진 크기로 잘랐을 때 몇 개가 나오는지 탐색해나가면 되는 문제이다.

이 때, 하나씩 올려가며 찾는 것은 시간이 n만큼 들기 때문에 절반씩 찾아가는 이분 탐색을 사용한다.

3. 소스코드


import sys
input = sys.stdin.readline

N, K = map(int,input().split())
lan = [int(input()) for _ in range(N)]

start = 1
end = max(lan)

while start <= end:
    mid = (start+end)//2
    temp = 0
    for i in lan:
        temp += i//mid
    if temp >= K:
        start = mid + 1
    else:
        end = mid - 1
print(end)

4. 그 외


profile
이창민, Changmin Lee
post-custom-banner

0개의 댓글