✅ LV. 1
total
은 모든 부서의 신청 예산을 sum
한 값, 처음은 모든 부서의 예산을 지원할 수 있다고 가정하고 answer
값에 부서 개수를 저장total <= budget
이면 모든 부서의 예산을 지원할 수 있다고 판단total > budget
이면 예산 지원에서 부서를 제외하는데 이 때마다 부서 개수 빼주기(answer--
), total
값에서도 제외한 부서 예산 값 빼주기#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
int answer = d.size();
vector<int> v;
int total=0;
for(int i=0;i<d.size();i++) {
total+=d[i];
}
sort(d.rbegin(),d.rend()); //내림차순
for(int i=0;i<d.size();i++) {
//예산보다 작거나 같을 경우
if(total<=budget) return answer;
//예산보다 클 경우
if(total>budget) {
answer--;
total-=d[i];
}
}
return answer;
}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
sort(d.begin(), d.end());
int i;
for (i = 0; (budget=budget-d[i]) >= 0 && i < d.size(); i++) ;
return i;
}
return
하는 방식