차차로그
[JS] Summer/Winter Coding(~2018) > 예산 본문
function solution(d, budget) {
var sum = d.reduce((arr,v)=>arr+v);
d.sort((a,b)=>a-b);
if(budget == sum){
return d.length;
}else{
var count = 0;
for(var i = 0; i < d.length; i++){
if(budget - d[i] >= 0){
count++;
budget = budget - d[i];
console.log(budget)
}else{
break;
}
}
return count;
}
}
부서가 신청한 금액을 모두 더한 값이 예산과 동일하면 모든 부서에 지원을 해줄 수 있어서 IF문을 사용해 부서의 수만큼 리턴을 먼저 시켜줬다. (굳이 안 해도 풀이시간은 비슷하다..)
예산에서 부서별 신청금액을 마이너스가 되기 전까지 계속 빼면서 그 횟수만큼 COUNT를 올려준다.
최대한 많은 부서를 지원해줘야하기 때문에 부서별 신청 금액을 오름차순으로 정렬해놔야 한다.
만약 예산이 마이너스가 되면 break;를 걸어준다
'코딩테스트' 카테고리의 다른 글
[JS] 연습문제 > 하샤드 수 (0) | 2022.08.29 |
---|---|
[JS] 연습문제 > 문자열 다루기 기본 (0) | 2022.08.29 |
[JS] 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 (0) | 2022.08.26 |
[JS] 연습문제 > 행렬의 덧셈 (0) | 2022.08.24 |
[JS] 연습문제 > x만큼 간격이 있는 n개의 숫자 (0) | 2022.08.23 |
Comments