매일 C++ day 8 / 구명보트

2021-05-26

구명보트

https://programmers.co.kr/learn/courses/30/lessons/42885

#include <string>
#include <vector>
#include <algorithm>


using namespace std;

int solution(vector<int> people, int limit) {
    int answer = 0;
    sort(people.begin(), people.end());
    int begin = 0, end = people.size()-1;
    
    while(1)
    {
        if(begin == end) return ++answer;
        else if(begin > end) return answer;
        
        if(people[begin] + people[end] > limit)
        {
            end -= 1;
            answer += 1;
        }
        else
        {
            people[end] += people[begin];
            begin+=1;
        }
    }
}

test test