Back to all posts
예산
Written by ppotatoG & Posted on November 18th, 2021
처음 제출한 답
sum이 budget보다 작으면,
sum에 d[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로 중복을 돌며
sum에 d[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;}