https://programmers.co.kr/learn/courses/30/lessons/43236
def solution(distance, rocks, n):
result =0
rocks.extend([0,distance]) # 0 distance 추가
rocks.sort() # 정렬
start, end = 0, distance
while start<=end: # 이분탐색
mid = (start+end)//2
temp=rocks[0]
cnt=0
for i in rocks:
if i-temp>=mid:
temp=i
else:
cnt+=1
if cnt>n+1:
end=mid-1
else:
start = mid+1
if mid>result:
result=mid
return result
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스] 디스크 컨트롤러(Python) (0) | 2021.08.12 |
---|---|
[프로그래머스] N으로 표현(Python) (0) | 2021.08.12 |
[프로그래머스] 입국심사(Python) (0) | 2021.08.12 |
[프로그래머스] 도둑질(Python) (0) | 2021.08.12 |
[프로그래머스] 다단계 칫솔 판매(Python) (0) | 2021.08.10 |
댓글