본문 바로가기

Coding Test/Programmers

[프로그래머스/파이썬] 징검다리

728x90

 

나의 풀이

def solution(distance, rocks, n):
    answer = 1
    left, right = 1, distance
    rocks.sort()

    while left <= right:
        count, prev = 0, 0
        mid = (left + right) // 2

        for rock in rocks:
            if rock - prev < mid:
                count += 1
            else:
                prev = rock
            if count > n:
                break

        if count > n:
            right = mid - 1
        else:
            answer = mid
            left = mid + 1

    return answer

 

반응형