배열의 구간 합을 계산할 때 부분 합을 미리 계산해두어 빠르게 값을 얻어내는 것
입력
첫 줄에 배열의 숫자 개수
다음 줄에 공백으로 구별하면서 배열에 수 입력
합을 구하고자 하는 구간
출력
구간의 합
코드
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
int[] arr = new int[Integer.valueOf(input)];
int result = 0;
int i = 0;
//배열 값넣기
String arr_size = br.readLine();
String[] arr_value = arr_size.split(" ");
//구간의 합
String sum_arr = br.readLine();
String[] arr_sum = sum_arr.split(" ");
for(i = 0; i < arr_value.length; i++){
if (i >= Integer.valueOf(arr_sum[0])-1 && i <= Integer.valueOf(arr_sum[1])-1)
result += Integer.valueOf(arr_value[i]);
}
System.out.println(result);
}
}
일단 입력받은 배열의 값들을 split으로 나누어 arr_value에 저장한다.
그 이후 더하는 시작지점, 종료지점을 조건문을 이용하여 그 사이값 만큼 result 에 더해주어 결과를 출력한다.