<< 문제 >>
https://school.programmers.co.kr/learn/courses/30/lessons/42885
잠깐 생각해보면
만약 보트를 둘이 같이 탄다고 했을 때, 가장 합리적인건 < min , max > 조합으로 짜는거겠죠.
그걸 이용하면 쉽게 풀 수 있습니다.
<< 코드 >>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int solution(vector<int> people, int limit) {
int answer = 0;
int num = people.size();
sort(people.begin(), people.end());
int start = 0;
while(start < num){
if(people[start] + people[num-1] > limit){
answer++;
num--;
}
else{
answer++;
start++;
num--;
}
}
return answer;
}
<< 깃헙 >>
[Level2.] 광물 캐기 C++ (0) | 2024.02.05 |
---|---|
[Level2.] 귤 고르기 C++ (0) | 2024.02.04 |
[Level1.] 개인정보 수집 유효기간 C++ (0) | 2024.02.03 |
[Level2.] 주식가격 C++ (0) | 2023.07.12 |
[Level2.] 올바른 괄호 C++ (0) | 2023.07.11 |
댓글 영역