N일 동안의 매출기록을 주고 연속 된 K일 동안의 최대 매출액이 얼마인지 구하기
만약 N=10이고 10일 간의 매출기록이 아래와 같다.
이때 K=3이면 12 15 11 20 25 10 20 19 13 15 연속된 3일간의 최대 매출액은 11+20+25=56만원이다.
풀이
function solution(k, arr) {
let sum = 0;
for (let i = 0; i < k; i++) sum += arr[i];
let max = sum;
for (let i = k; i < arr.length; i++) {
sum += arr[i] - arr[i - k];
if (sum > max) max = sum;
}
return max;
}
let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15];
console.log(solution(3, a));
'코딩테스트 문제풀이 > inflearn' 카테고리의 다른 글
[인프런] Node.js / 섹션5-효율성(해시 알고리즘) / 7. 아나그램 (0) | 2023.02.08 |
---|---|
[인프런] Node.js / 섹션5-효율성(해시 알고리즘) / 6. 학급 회장 (0) | 2023.02.08 |
[인프런] Node.js / 섹션5-효율성(투포인터 알고리즘) / 4. 연속 부분수열 2 (0) | 2023.02.08 |
[인프런] Node.js / 섹션5-효율성(투포인터 알고리즘) / 3. 연속 부분수열 1 (0) | 2023.02.08 |
[인프런] Node.js / 섹션5-효율성(투포인터 알고리즘) / 2. 공통원소 구하기 (1) | 2023.01.28 |