업데이트:

카테고리: ,

1. 문제

문제는 링크에 들어가면 있다.

2. 정답 코드

문제의 내 정답 코드는 다음과 같다.

import sys

read = sys.stdin.readline

K,N = map(int,read().split())
array = []
for _ in range(K):
    array.append(int(read()))

start = 1
end = max(array)

while start<=end :
    mid = (start+end)//2
    temp = 0
    for a in array:
        temp += (a//mid)

    if temp >= N :
        start = mid+1
    else :
        end = mid-1

print(end)






3. 풀이 및 생각


문제 풀이

매우 평범한 이진탐색 문제이므로 풀이는 생략.


나의 생각

아직도 언제 start를 써야하고 언제 end를 정답으로 써야하는지를 모르겠다..

뭐야 대체..ㅜ?

최대 1 분 소요