현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속
된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다.
만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면
12 15 11 20 25 10 20 19 13 15
연속된 3일간의 최대 매출액은 11+20+25=56만원입니다.
여러분이 현수를 도와주세요.
K | arr | Output |
---|---|---|
3 | [12,15,11,20,25,10,20,19,13,15] | 56 |
k
개의 원소들의 합이 최대일 때를 골라야 하는 문제이다.temp
에 수열 k
개의 합을 구하고, 현재 지정된 최댓값과 비교해서 더 크면 최댓값으로 지정한다.const solution =(k, sales) => {
let max = 0;
for(let i = 0; i < sales.length; i++) {
let temp = sales[i];
for(let j = i+1; j <= i+(k-1); j++) {
if(!sales[j]) break;
temp+=sales[j];
if(temp > max) max = temp;
}
}
return max;
}