#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <numeric>
using namespace std;
vector<int> sort(vector<int> arr)
{
for (int i = 0; i < arr.size(); i++)
for (int j = 1; j < arr.size() - i; j++)
if (arr[i] > arr[i + j])
{
int temp = arr[i];
arr[i] = arr[i + j];
arr[i + j] = temp;
}
return arr;
}
int solution(vector<int> d, int budget) {
vector<int> arr1;
vector<int> arr2;
int average = accumulate(d.begin(), d.end(), 0)/d.size();
for (int i = 0; i < d.size(); i++)
{
if (d[i] <= average)
arr1.push_back(d[i]);
else
arr2.push_back(d[i]);
}
arr1 = sort(arr1);
int answer = 0;
for (int i = 0; i < arr1.size(); i++)
{
if (budget - arr1[i] < 0)
break;
budget -= arr1[i];
answer++;
}
if (budget > average)
{
arr2 = sort(arr2);
for (int i = 0; i < arr2.size(); i++)
{
if (budget - arr2[i] < 0)
break;
budget -= arr2[i];
answer++;
}
}
return answer;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Level 1][C++] 문자열 내 p와 y의 개수 (0) | 2024.09.27 |
---|---|
[Level 1][C++] 문자열을 정수로 바꾸기 (0) | 2024.09.27 |
[Level 1][C++] 짝수와 홀수 (0) | 2024.09.27 |
[Level 1][C++] 평균 구하기 (0) | 2024.09.27 |
[Level 1][C++] 두 정수 사이의 합 (0) | 2024.09.27 |