
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12982
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
주어진 예산안에서 최대한 많은 부서들을 지원하는 수를 구하는 문제
문제 풀이법
가장 많은 부서들을 지원하므로 지원 금액을 작은 순서대로 정렬한 후, 지원 금액을 하나씩 제외해 가면서 예산을 구함
맨 뒤의 수. 즉 가장 큰 지원금을 제외하면서 총 예산이 정해진 예산을 넘지 않으면 그 수가 최대이므로 바로 return
소스 코드
#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 = d.size() - 1; i >= 0; i--)
{
int tmp = 0;
for (int j = 0; j <= i; j++)
{
tmp += d[j];
}
if (tmp <= budget)
return i + 1;
}
return answer;
}
'Algorithm Study' 카테고리의 다른 글
[프로그래머스] 1단계 - 문자열 내 마음대로 정렬하기 (0) | 2023.01.05 |
---|---|
[프로그래머스] 1단계 - [1차] 비밀지도.cpp (0) | 2023.01.05 |
[프로그래머스] 1단계 - 3진법 뒤집기 (0) | 2023.01.04 |
[백준] 17413 단어 뒤집기 2 (0) | 2023.01.03 |
[프로그래머스] 1단계 - 콜라츠 추측 (0) | 2023.01.02 |