For Programmer
백준 1654번 파이썬 문제풀이(랜선 자르기) - 이분탐색 본문
728x90
간단한 이분탐색 문제이다. 랜선의 크기를 절반씩 줄여나가면서 검사하면 된다. (K의 무수하게 크다면 우선 생각을 해봐야 하는 것이 이분탐색이다. 또한 N도 10000이기에 N^2으로 돌수가 없다. )
import sys
input = sys.stdin.readline
K, N = map(int, input().split())
len = []
for _ in range(K):
len.append(int(input()))
s = 1
e = max(len)
def check(mid):
total = 0
for i in len:
total += (i // mid)
return total >= N
ans = 0
while s <= e:
mid = (s + e) // 2
if check(mid):
ans = mid
s = mid + 1
else:
e = mid - 1
print(ans)
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 2110번 파이썬 문제풀이(공유기 설치) - 이분탐색 (0) | 2022.03.30 |
---|---|
백준 13702번 파이썬 문제풀이(이상한 술집) - 이분탐색 (0) | 2022.03.30 |
백준 2805번 파이썬 문제풀이(나무 자르기) - 이분탐색 (0) | 2022.03.30 |
백준 2792번 파이썬 문제풀이(보석상자) - 이분탐색 (0) | 2022.03.30 |
백준 10816번 파이썬 문제풀이(숫자 카드2) - 이분탐색 (0) | 2022.03.29 |
Comments