Algorithm/Programmers(c++)
[c++][프로그래머스] 예산
kim-hasa
2021. 7. 29. 15:39
https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는
programmers.co.kr
가장 많은 부서의 물품을 구매하는 문제입니다.
가장 적은 금액부터 정렬시킨후, 예산에서 빼가면서 계산합니다.
예산이 0보다 작아지는 경우에 반복문을 끝냅니다.
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
int answer = 0;
sort(d.begin(), d.end()); // 낮은 금액부터 정렬합니다.
for(int i=0; i<d.size(); i++)
{
budget -= d[i];
if(budget < 0)
break;
else
{
answer++;
}
}
return answer;
}
※ 코드가 지저분할 수 있습니다.