Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[백준] 1654 랜선 자르기 [Python, 파이썬] 본문
- 문제 : https://www.acmicpc.net/problem/1654
- 🔑 이분탐색
- 기준 값 (mid) 값으로 각각의 줄을 나눠서 n개를 나눌 수 있는 최댓값을 찾는다.
- mid 값으로 n개의 줄을 만들 수 없으면 오른쪽 포인터 값 r을 mid 값 -1로 바꿔준다.
- 만들 수 있으면 왼쪽 포인터 값 l을 mid 값 +1로 바꾼다.(n개를 만들 수 있는 최댓값을 찾기 위해)
import sys
input = sys.stdin.readline
k, n = map(int, input().split())
lines = [int(input()) for _ in range(k)]
l = 1
r = 2**31
mid = 0
while l <= r:
cnt = 0
mid = (l+r) // 2
for line in lines:
cnt += line // mid
if n > cnt:
r = mid - 1
else:
l = mid + 1
print(r)
'백준' 카테고리의 다른 글
[백준] 2212 센서 [Python, 파이썬] (0) | 2023.11.05 |
---|---|
[백준] 16954 움직이는 미로 탈출 [Python, 파이썬] (0) | 2023.11.04 |
[백준] 1655 가운데를 말해요 [Python, 파이썬] (1) | 2023.11.03 |
[백준] 1238 파티 [Python, 파이썬] (1) | 2023.11.01 |
[백준] 5557 1학년 [Python, 파이썬] (1) | 2023.10.24 |
Comments