∑|ΔEasyMAX| 문제 이름이 이렇게 요상한건 처음본다. 시간내에 여러 구간 합을 구하는 문제
여러개의 구간 합을 구할때는 각 구간의 합을 배열로 저장하여 해당 구간을 배열에서 불러와 더하면
시간내에 계산을 마칠 수 있다
https://www.acmicpc.net/problem/17203
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (inp) => {
inp.shift();
let base = inp
.shift()
.split(" ")
.map((el) => Number(el));
let arr = [];
for (let i = 1; i < base.length; i++) {
arr.push(Math.abs(base[i] - base[i - 1]));
}
let ans = [];
for (el of inp) {
let [tn, tm] = el.split(" ").map((el) => Number(el));
let n = tn - 1;
let m = tm - 1;
let sum = 0;
for (let i = n; i < m; i++) {
sum += arr[i];
}
ans.push(sum);
}
console.log(ans.join("\n"));
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 2857/javascript] FBI (0) | 2022.09.17 |
---|---|
[백준 11507/javascript] 카드셋트 (0) | 2022.09.15 |
[백준 14490/javascript] 백대열 (0) | 2022.09.13 |
[백준 1822/javascript] 차집합 (0) | 2022.09.12 |
[백준 15233/javascript] Final Score (0) | 2022.09.11 |
댓글