문제

수 N개가 주어졌을 때 i번째 수에서 j번째 수까지의 합을 구하는 프로그램 작성

풀기 전 상식

구간 합

구간 합의 핵심 이론

<aside> 💡 합 배열의 S정의 S[i] = A[0] + A[1] + A[2] + . . . + A[i-1] + A[i]

합 배열 S를 만드는 공식 S[i] = S[i-1] + A[i]

</aside>

구하는 공식

인덱스: (0) (1) (2)(3)(4)(5)
리스트A: 15  13  10  7  3  12
     ➕⬇️    ⬇️➕.  
합배열S: 15➡️➕28  38 45  48 60
        |----------|
     구하고자 하는 구간 합 영역

S[5] = A[0] + A[1] + A[2] + A[3] + A[4] + A[5]

S[1] = A[0] + A[1]

S[5] - S[1] = A[2] + A[3] + A[4] + A[5]

출력

	 5 3 //데이터의 개수, 질(문)의 개수
 5 4 3 2 1 //구간 합을 구할 대상 배열
 1 3
 2 4
 5 5
12
9
1

손으로 풀어보기