-
문제
https://www.acmicpc.net/problem/11659
How to Solve ?
투포인터를 공부하면서, 부분합에 빠르게 접근 할 수 있는 2가지 방법에 대해서 배웠다.
1) 투포인터
2) 구간합
이렇게 2가지인데 ! 이번에 풀었던 문제는 2에 해당 되어서 "구간 합" 을 미리 구해놓고 빼는 방식으로 구현을 하였다.
function solve() { const answer = []; let sum = Array(nums.length + 1).fill(0); for (let i = 1; i <= nums.length; i++) { sum[i] = sum[i - 1] + nums[i - 1]; } for (let i = 0; i < section.length; i++) { const [start, end] = section[i]; answer.push(sum[end] - sum[start - 1]); } return answer.join("\n"); } let [N, M] = [5, 3]; const nums = [5, 4, 3, 2, 1]; const section = [ [1, 3], [2, 4], [5, 5], ]; console.log(solve());
'PS > 백준' 카테고리의 다른 글
[백준_2018] 수들의 합5 ( 투포인터 - 자바스크립트) (0) 2021.06.09 [백준_2805] 나무 자르기 ( 이분탐색 - 자바스크립트 ) (0) 2021.06.09 [백준_1018] 체스판 다시 칠하기 (완전탐색 - 자바스크립트) (0) 2021.06.09 [ 백준 _ 6588 ] 골드바흐의 추측 ( 수학 - 자바스크립트 ) (1) 2021.06.06 [ 백준 - 1406 ] 에디터 ( 스택 _ 자바스크립트 ) (0) 2021.06.06 댓글