선생님 방식으로도 연습해보고 다른 방식으로도 풀 수 있는지 연습하고 있는데요
아래 방식처럼 이중포문으로 돌리는 방식으로 풀어봤는데
물론 효율성면에서는 재귀보다 떨어지겠지만, 아래 풀이도 유효한 풀이인가요?
function solution(time,arr) {
console.log(arr)
let answer = null;
for(let i = 0; i < arr.length; i++) {
let t = 0;
let sum = 0;
for(let j =i; j < arr.length; j++) {
t+=arr[j][1];
if(t > time) {
t-=arr[j][1];
continue;
}
else {
sum += arr[j][0];
answer = Math.max(answer,sum);
}
}
}
return answer;
}
let params = [
[10,5],[25,12],[15,8],[6,3],[7,4]
]
console.log(solution(20,params))