알고리즘 문제 풀이
[C++] 프로그래머스 예산 풀이
코딩류
2021. 9. 30. 22:57
반응형
s사에서 정해진 예산 안에서 몇 개 부서의 물품을 사줄 수 있는지 구하는 문제
문제 읽으면서는 정렬하고 시작해야겠다 해놓고 코드 쓸 때 까먹어서 왜 안 될까... 헤멨던 문제 ㅎ;
문제의 조건
1. 부서별로 필요한 예산을 담은 배열 d와 총 예산 budget이 주어짐
2. 남은 돈이 부서에서 필요로하는 돈보다 모자라면 아예 주지 않는다.
#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
sort(d.begin(), d.end()); //오름차순 정렬 후 시작
int sum = 0;
int answer = 0;
for (auto elem: d)
{
//미리 더해본 값이 예산보다 커지면 반복문 탈출
if (budget < sum + elem)
break;
sum += elem;
answer++;
}
return answer;
}
반응형