문제 풀이/99클럽

[99클럽] 22일차 TIL

동까의 코딩 2024. 6. 11. 19:11
반응형

https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/submissions/1284760441/

 

leetcode 문제사이트에 있는 수열 문제입니다.

 

class Solution(object):
    def findDays(self, weights, D, capacity):
        weight_sum = 0
        days = 1
        for w in weights:
            weight_sum += w
            if weight_sum > capacity:
                days += 1
                weight_sum = w
        return days > D

    def shipWithinDays(self, weights, D):
        left, right = max(weights), sum(weights)
        while left <= right:
            mid = left + right >> 1
            if self.findDays(weights, D, mid):
                left = mid + 1
            else:
                right = mid - 1
        return left
반응형