[LeetCode] 1561. Maximum Number of Coins You Can Get

0

LeetCode

목록 보기
50/58
post-thumbnail

[LeetCode] 1561. Maximum Number of Coins You Can Get

풀이

  • 매 차례마다 Alice는 가장 큰 수를 고르고, 나는 두 번째로 큰 수를 고르고, Bob은 가장 작은 수를 고르면 된다
#include <vector>
#include <algorithm>
#include <deque>

class Solution {
public:
    int maxCoins(vector<int>& piles) {
        
        //piles 내림차순 정렬
        sort(piles.begin(), piles.end());
        reverse(piles.begin(), piles.end());
        
        //vector -> deque
        deque<int> dq(piles.begin(), piles.end());

        long long ans = 0LL;
        while(!dq.empty()){
            dq.pop_front(); //alice
            if(dq.empty()) break;

            ans += dq.front();
            dq.pop_front(); //me
            if(dq.empty()) break;

            dq.pop_back(); //bob
        }

        return ans;
    }
};

profile
Be able to be vulnerable, in search of truth

0개의 댓글