알고리즘
[프로그래머스 알고리즘] while과 reduce의 합작
고래강이
2023. 6. 21. 12:07
예산
function solution(d, budget) {
var answer = 0, sum = 0;
d.sort((a,b) => a - b);
for(let i = 0; i < d.length; i++){
answer++;
sum += d[i]
if(sum > budget)
answer--;
}
return answer;
}
정렬이 포인트인듯 근데 다른사람 풀이를 보니 filter를 이용한 것을 while의 조건으로 줘서 해결하는 경우도 있던데 이게 좀 신박하다 그리고 계속 변수 = 0 선언하고 로직을 짜면 좀 더 쉬워지는데 그걸 자꾸 간과하고 따른짓하다가 오래걸렸다....
function solution(d, budget) {
d.sort((a, b) => a - b);
while (d.reduce((a, b) => (a + b), 0) > budget) {
d.pop();
}
return d.length;
}
합에서 제일 큰수를 빼면서 정해놓은 범위 내로 오게만드는게 신박하구만