Problem Solving/LeetCode

Today's Challenge

fabichoi 2022. 9. 12. 23:45

https://leetcode.com/problems/bag-of-tokens

 

Bag of Tokens - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

탐욕법으로 풀면 됨.

class Solution:
    def bagOfTokensScore(self, tokens: List[int], power: int) -> int:
        tokens.sort()
        deq = collections.deque(tokens)
        ans, bns = 0, 0
        
        while deq and (power >= deq[0] or bns):
            while deq and power >= deq[0]:
                power -= deq.popleft()
                bns += 1
            ans = max(ans, bns)
            
            if deq and bns:
                power += deq.pop()
                bns -= 1
                
        return ans
반응형