ppotatoG


Back to all posts

예산

Written by ppotatoG & Posted on November 18th, 2021

Programmers 예산

처음 제출한 답

sumbudget보다 작으면,

sumd[i]를 더해준다

일단 sort부분이 잘못됐고, 고쳐도 테케 중 두개를 통과하지 못한다

function solution(d, budget){
d.sort();
let i = 0;
let sum = 0;
while(sum < budget) {
i++;
sum += d[i];
}
return i;
}

두번째

이번에는 제대로 정렬

d.length로 중복을 돌며

sumd[i]를 더해주고, count ++

전부 더한값이 budget보다 크면 count --해주고, break

function solution(d, budget){
d.sort((a, b) => a - b);
let count = 0;
let sum = 0;
for(let i = 0; i < d.length; i ++){
sum += d[i];
count ++;
if(sum > budget) {
count --;
break;
}
}
return count;
}

다른 사람의 풀이

d를 모두 더한 값이 budget보다 작을 떄까지 pop

d.length로 지원 가능한 부서의 길이 반환

function solution(d, budget){
d.sort((a, b) => a - b);
while (d.reduce((a, b) => (a + b), 0) > budget) d.pop();
return d.length;
}

Posted on November 18th, 2021