앞서 C++로 풀어봤던 문제를 파이썬으로도 풀어보았다. 확실히 파이썬이 코드 길이는 짧게 나오는 것 같다.
[ BOJ / C++ ] 1477번 휴게소 세우기
첫 제출에서 런타임에러가 발생했는데 그 이유는 C++의 /연산자와 파이썬의 /연산자가 다르다는 것을 까먹고 작성했기 때문이었다. C++:/ = python://
n,m,l=map(int, input().split())
point=list(map(int, input().split()))
point = sorted(point)
dis=[0]*(n+1)
dis[0]=point[0]
for i in range(1,n):
dis[i]=point[i]-point[i-1]
dis[n]=l-point[n-1]
def BinarySearch():
front=1
back=l-1
while front<back-1:
mid=(front+back)//2
cnt=0
for i in dis:
if i>mid:
if i%mid==0:
cnt+=i//mid-1
else:
cnt+=i//mid
if cnt>m:
front=mid
else:
back=mid
return back
print(BinarySearch())