오답노트

프로그래머스 - 1단계 - 예산 본문

C,C++/코딩테스트

프로그래머스 - 1단계 - 예산

권멋져 2022. 5. 28. 20:38
https://programmers.co.kr/learn/courses/30/lessons/12982
 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

- 문제 파악

배열과 정수 한개가 주어진다. 배열을 잘 조합하여 정수보다 같거나 작은 수를 만들 수 있는데, 이 때 요소 개수의 최대값을 구하라.

 

- 정답

#include "bits/stdc++.h"

using namespace std;


int solution(vector<int> d, int budget) {
    int answer = 0;

    
    sort(d.begin(),d.end());
    int tmp = 0;
    for(auto a : d)
    {
        if(tmp + a > budget)        
            break;       
        
        tmp += a;        
        answer++;
    }
    
    
    
    return answer;
}