나의 코드
k, n = map(int, input().split())
data = [int(input()) for _ in range(k)]
data.sort()
def binary(arr, start, end):
if start > end:
return end
mid = (start + end) // 2
lines = 0
for i in data:
lines += i // mid
if lines >= n:
return binary(arr, mid + 1, end)
else:
return binary(arr, start, mid - 1)
print(binary(data, 1, data[-1]))
풀이 방법
binary-search 를 응용하여 풀이
'백준 알고리즘 (Baekjoon Algorithm)' 카테고리의 다른 글
[파이썬] 백준 알고리즘 No.14425 문자열 집합 (0) | 2023.02.18 |
---|---|
[파이썬] 백준 알고리즘 No.2805 나무 자르기 (0) | 2023.02.17 |
[파이썬] 백준 알고리즘 No.3055 탈출 (0) | 2023.02.10 |
[파이썬] 백준 알고리즘 No.16234 인구 이동 (0) | 2023.02.09 |
[파이썬] 백준 알고리즘 No.13460 구슬 탈출 2 (0) | 2023.02.09 |