https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 ��
programmers.co.kr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#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 result = 0;
for (int i = 0; i < d.size(); i++)
{
if (budget <= 0)break;
if (budget < d[i])break;
budget -= d[i];
result++;
}
return result;
}
|
요구하는 금액이 가장 적은 부서부터 예산을 분배해야 하므로,
가장 먼저 정렬을 해준다.
이후 for문을 돌다가(예산을 분배하다가),
남은 예산이 요구 금액보다 모자랄 경우 for문을 빠져나온다.
'프로그래머스 - 내 풀이 > 프로그래머스 Lv1' 카테고리의 다른 글
프로그래머스 / 2019 KAKAO BLIND RECRUITMENT / 실패율 (0) | 2020.06.01 |
---|---|
프로그래머스 / 2018 KAKAO BLIND RECRUITMENT / 비밀지도 (0) | 2020.05.29 |
프로그래머스 / 연습문제 / 직사각형 별찍기 (0) | 2020.05.25 |
프로그래머스 / 연습문제 / x만큼 간격이 있는 n개의 숫자 (0) | 2020.05.22 |
프로그래머스 / 연습문제 / 행렬의 덧셈 (0) | 2020.05.22 |