https://www.acmicpc.net/problem/11659
* 구간 합을 알게되어서 한 번 적용해봤는데.. i값에 따라 분기처리를 하는게 맞는건지는 모르겠다. 일단 통과
import java.util.Arrays;
import java.util.Scanner;
public class backjoon11659 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int[] Arr = new int[N];
int[] sumArr = new int[N]; //합 배열
for(int i = 0; i < N; i++) {
Arr[i] = sc.nextInt();
if(i == 0) {
sumArr[i] = Arr[i];
}else if(i > 0) {
sumArr[i] = sumArr[i-1] + Arr[i];
}
}
// System.out.println(Arrays.toString(Arr));
// System.out.println(Arrays.toString(sumArr));
int i,j;
for(int k = 0; k < M; k++) {
i = sc.nextInt()-1; //배열은 0부터 시작이니까 1씩 뺀다.
j = sc.nextInt()-1; //배열은 0부터 시작이니까 1씩 뺀다.
if(i-1 >= 0) {
System.out.println(sumArr[j]-sumArr[i-1]);
}else if(i-1 < 0) {
System.out.println(sumArr[j]);
}else if(i == j) {
System.out.println(Arr[i]);
}
}
}
}
반응형
'코딩테스트준비' 카테고리의 다른 글
[백준11660]구간 합 구하기2 (0) | 2024.01.25 |
---|---|
[백준1546]평균 구하기 (0) | 2024.01.25 |
[백준11720]숫자의 합 구하기 (0) | 2024.01.25 |
[백준2750]수 정렬하기 (0) | 2024.01.25 |
백준 9012 자바 (0) | 2020.09.19 |