function solution(k, arr) {
let answer,
sum = 0;
for (let i = 0; i < k; i++) sum += arr[i];
answer = sum;
for (let i = k; i < arr.length; i++) {
sum += arr[i] - arr[i - k];
answer = Math.max(answer, sum);
}
return answer;
}
let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15];
console.log(solution(3, a));
그냥 i - k를 하면 되는 것을....
function solution(k, arr) {
let l = 0;
let r = l + k;
let temp = 0;
for (let i = 0; i < k; i++) {
temp += arr[i];
}
let answer = temp;
while (r < arr.length) {
temp = temp - arr[l++] + arr[r++];
answer = Math.max(answer, temp);
}
return answer;
}
let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15];
console.log(solution(3, a));
어거지로 변수를 두개 쓰니까 정신이 없다.
(근데 막상 쓰고보니 더 직관적으로 괜찮아 보이는 것 같기도 하다... 그냥 answer 선언만 위에 했으면 생각보다 괜찮은데...? 어..?)