1. 문제
2. 풀이 과정
def solution(distance, rocks, n):
if len(rocks) == n: #전체를 제거해야할 경우
return distance
gap = []
rocks.sort()
rocks.append(distance)
def bsearch(s, e):
while s <= e:
m = (s+e)//2 #최솟값 중 최대가 m이라면
#돌 몇 개를 빼야하는지 count
c = 0
prev = 0
for rock in rocks:
if rock - prev < m:
c += 1
else:
prev = rock
if c > n:
e = m - 1
else:
s = m + 1
return e
return bsearch(1, distance)
'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글
[Python] 오픈채팅방 (0) | 2021.09.08 |
---|---|
[Python] 방의 개수 (0) | 2021.09.05 |
[Python] 순위 (0) | 2021.09.03 |
[Python] 가장 먼 노드 (0) | 2021.09.02 |
[Python] 입국심사 (0) | 2021.09.01 |