https://www.acmicpc.net/problem/11659
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
int[] arr=new int[n+1];
int[] cumerative_sum=new int[n+1];
for(int i=1;i<n+1;i++){
arr[i]=sc.nextInt();
cumerative_sum[i]=cumerative_sum[i-1]+arr[i];
}
StringBuilder sb=new StringBuilder();
for(int k=0;k<m;k++){
int i=sc.nextInt();
int j=sc.nextInt();
sb.append(cumerative_sum[j]-cumerative_sum[i-1]);
sb.append("\n");
}
System.out.println(sb);
}
}
누접합을 이용해서 누적합을 구한 후 그 구간 전까지의 누적합을 빼서 답을 구해내면 된다.
이렇게 Java로 백준의 "구간 합 구하기 4" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊