안녕 세상아,

[프로그래머스/c++] Lv1 예산 본문

프로그래머스

[프로그래머스/c++] Lv1 예산

돈 많은 백수가 되고싶다 2024. 8. 21. 16:01

https://school.programmers.co.kr/learn/courses/30/lessons/12982

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 작은 수들 위주로 모여야 최대로 예산 지원을 해줄 수 있기 때문에 정렬한다. 

2. d[0]부터 빼면서 만약 budget값이 0보다 작으면 break 한다. 

3. break 당하지 않으면 answer++ 해준다. 

#include <iostream>
#include <stdio.h>
#include <string>
#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 = budget - d[i];
        if(budget < 0){
            break;
        }
        answer++;
    }
    return answer;
}