본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 11441/javascript] 합 구하기

by tokkiC 2022. 8. 25.

구간합을 구현하는 문제이다

이게 왜 실버 3인지 전혀 모르겠지만... 문제 그대로 구현해주면 되는 문제이다

https://www.acmicpc.net/problem/11441

 

11441번: 합 구하기

첫째 줄에 수의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄에는 A1, A2, ..., AN이 주어진다. (-1,000 ≤ Ai ≤ 1,000) 셋째 줄에는 구간의 개수 M이 주어진다. (1 ≤ M ≤ 100,000) 넷째 줄부터 M개의 줄에는

www.acmicpc.net

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) => {
  let n = Number(inp[0]);
  let m = Number(inp[2]);
  let arr = inp[1].split(" ").map((el) => Number(el));
  let sumarr = [];

  for (let i = 0; i < m; i++) {
    let a = inp[i + 3].split(" ").map((el) => Number(el))[0];
    let b = inp[i + 3].split(" ").map((el) => Number(el))[1];
    let sum = 0;

    for (let j = a; j <= b; j++) {
      sum += arr[j - 1];
    }
    sumarr.push(sum);
  }
  let ans = sumarr.join("\n");
  console.log(ans);
};

댓글