백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 21921 , 블로그 [슬라이딩 윈도우]
문제 출처
https://www.acmicpc.net/problem/21921
정답
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n")
.map((v) => v.split(" ").map(Number));
const [N, X] = input.shift();
const visited = input[0];
function solution(N, X, visited) {
let [MAX, day, total] = [0, 1, 0];
for (let i = 0; i < X; i++) total += visited[i];
MAX = Math.max(MAX, total);
for (let j = 1; j <= N - X; j++) {
total -= visited[j - 1];
total += visited[j + X - 1];
if (total === MAX) day += 1;
else {
if (total > MAX) day = 1;
MAX = Math.max(total, MAX);
}
}
return [MAX, day];
}
const result = solution(N, X, visited);
result[0] === 0 ? console.log("SAD") : result.map((v) => console.log(v));
반응형
'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 24499 , blobyum [슬라이딩 윈도우] (0) | 2022.10.06 |
---|---|
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 12847 , 꿀 아르바이트 [슬라이딩 윈도우] (1) | 2022.10.05 |
백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 12891 , DNA 비밀번호 [슬라이딩 윈도우] (0) | 2022.10.03 |
백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 15565 , 귀여운 라이언 (0) | 2022.10.02 |
백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 14465 , 소가 길을 건너간 이유 5 (0) | 2022.10.01 |