Data Structure & Algorithm
[์๊ณ ๋ฆฌ์ฆ-JS] ์ฌ๋ผ์ด๋ฉ ์๋ (Sliding Window) - ์ฐ์ ์ต๋ ๋งค์ถ
fnow
2022. 5. 3. 22:30
๋ฐ์ํ
๐ก ์ฌ๋ผ์ด๋ฉ ์๋
ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋ ํ๋ ์์ด ์ข์ฐ๋ก ์์ง์ด๋ฉด์ ํ๋ ์ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ๊ณ์ฐํ๋ ์๊ณ ๋ฆฌ์ฆ
๋ฌธ์
N์ผ ๋์์ ๋งค์ถ์ก์ ์ ๋ ฅ ๋ฐ์ผ๋ฉด ์ฐ์๋ K์ผ ๋์ ์ต๋ ๋งค์ถ์ก์ด ์ผ๋ง์ธ์ง ๊ตฌํ์์ค.
์ ๋ ฅ ์์
10 3
10 25 11 20 15 12 20 10 22 18
์ถ๋ ฅ ์์
56
ํ์ด
function solution(n, m, a) {
let answer = sum = 0;
// ์ฒ์ 3๊ฐ ๋ํ๊ธฐ
for (let i = 0; i < m; i++) sum += a[i];
answer = sum;
// ์ฌ๋ผ์ด๋ฉ ์๋
for (let i = m; i < a.length; i++) {
// i๋ฒ์งธ + i์์ 4๋ฒ์งธ ์์ ์๋ ์์ ๋นผ๊ธฐ
sum += (a[i] - a[i-m]);
answer = Math.max(answer, sum);
}
return answer;
}
๋ฐ์ํ