2003. 수들의 합 2 - node.js / javascript

문제

내 코드

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

const [N, M] = input
  .shift()
  .split(" ")
  .map((v) => Number(v));
const nums = input
  .shift()
  .split(" ")
  .map((v) => Number(v));

let answer = 0;
let left = 0;
let right = 0;
let sum = nums[left];

while (left < N && right < N) {
  if (sum === M) {
    answer++;
    sum += nums[++right];
  } else if (sum < M) {
    sum += nums[++right];
  } else if (sum > M) {
    sum -= nums[left++];
  }
}

console.log(answer);

깃허브 링크

https://github.com/highjoon/JS_Algorithm/blob/master/BOJ/%ED%88%AC%ED%8F%AC%EC%9D%B8%ED%84%B0/2003.js

좋은 웹페이지 즐겨찾기