JS-L3-013 / 배열 알고리즘
구간 합 질의
중급문제
정수 배열 values와 질의 배열 queries=[left,right]를 받습니다. 각 닫힌 구간의 합을 리스트로 반환하세요. 인덱스는 유효합니다.
solve(...args) 함수에서 값을 반환하세요. console 출력은 정답 판정에 사용하지 않습니다.
입출력 예시
예제 1
입력: [[1,2,3],[[0,2],[1,1]]] 반환: [6,2]
예제 2
입력: [[-1,2],[[0,0],[0,1]]] 반환: [-1,1]
힌트
prefix[i]를 첫 i개 원소의 합으로 두세요.
해설·정답 보기
닫힌 구간 [l,r]의 합은 prefix[r+1]-prefix[l]입니다.
function solve(values,queries) { const prefix=[0]; for(const x of values)prefix.push(prefix.at(-1)+x); return queries.map(([l,r])=>prefix[r+1]-prefix[l]); }solution.js결과 비교
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.