예산 코딩테스트 연습문제

Y b·2023년 7월 31일
0

문제 요약

한정된 예산으로 구매할 수 있는 부서별 물품 개수를 구해라.

링크?

https://school.programmers.co.kr/learn/courses/30/lessons/12982

문제 풀이 원리

sort를 이용해 오름차순으로 정렬을 한 뒤,
for문을 이용하여 순차적으로 더해준다.
단, 합이 budget보다 같거나 작도록 한다.

시도과정?

1)

function solution(d, budget) {
    var answer = 0;
    d.sort(function(a, b) {
     return a - b;
    });
    for(let i=0; i<d.length; i++){
    (budget>0)? budget-=d[i]:budget
    answer= (budget===0)?d.length:i-1
    }
    
    return answer;
}

정확성: 13.0 으로 실패.

2)

function solution(d, budget) {
var answer = 0;
var total=0;
d.sort(function(a, b) {
return a - b;
});
for(let i=0; i<d.length; i++){
((total+=d[i])<=budget)? answer=i+1:answer
}
return answer;
}

마지막에서 두 번째 줄 answer을 다른 줄에서 쓰지 않고
직접 쓰는 방법으로 바꿨더니 정답이 나왔다.

최종 답안

function solution(d, budget) {
var answer = 0;
var total=0;
d.sort(function(a, b) {
return a - b;
});
for(let i=0; i<d.length; i++){
((total+=d[i])<=budget)? answer=i+1:answer
}
return answer;
}

profile
웹 개발자

0개의 댓글

관련 채용 정보