반응형
SMALL
이 문제에를 풀 때 조합으로 문제를 풀려했었는데, 그게 아니었습니다. 문제에서 원하는 답은 얼마나 많은 부서에 금액을 지원해 줄 수 있는지 즉, 부서의 최대 부서 수를 물어보는 거였지, 그 예산에 딱 맞춰서 예산을 줄 수 있는 부서를 물어보는 것이 아니었습니다.
물론, 문제에서 예산이 남으면 안될 것 같지만, 다시 한 번 말씀 드리자면 원하는 건 부서의 수지 예산이 아닙니다. 그러니 우리는 부서를 중심으로 생각할 필요가 있고 이를 코드로 나타냈습니다.
#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <algorithm> // sort를 쓰기 위함
using namespace std;
int solution(vector<int> d, int budget) {
int answer = 0;
int cnt = 0;
sort(d.begin(), d.end());
for (int i = 0; i < d.size(); i++){
answer += d[i];
cnt += 1;
if (answer == budget) break;
else if (answer > budget) {
cnt -= 1;
break;
}
}
return cnt;
}
반응형
LIST
'알고리즘 문제 풀이 > Programmers' 카테고리의 다른 글
이상한 문자 만들기 - 1단계 (C++) (0) | 2019.06.26 |
---|---|
정수 내림차순으로 배치하기 - 1단계 (C++) (0) | 2019.06.26 |
자릿수 더하기 - 1단계 (C++) (0) | 2019.06.26 |
x만큼 간격이 있는 n개의 숫자 - 1단계 (C++) (0) | 2019.06.26 |
제일 작은 수 제거하기 - 1단계 (C++) (0) | 2019.06.26 |