본문 바로가기

백준 문제풀기/JAVA

[백준 11659 JAVA 자바] 구간 합 구하기 4

N개의 숫자열 중에서

a부터 b번째까지 합을 구하는 문제입니다

 

숫자열을 배열로 입력받아

for문을 이용하면

어렵지 않은 문제입니다

 

코드입니다

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        int[] arr = new int[n];
        
        int subsum = 0;

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
        	subsum += Integer.parseInt(st.nextToken());
            arr[i] = subsum;
        }
        
        StringBuilder sb = new StringBuilder();
        
        for(int i=0;i<m;i++) {
        	int result;
        	st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken())-1;
            int b = Integer.parseInt(st.nextToken())-1;
        	
        	if(a==0) {
        		result = arr[b];
        	}else {
        		result = arr[b]-arr[a-1];
        	}
        	sb.append(result).append('\n');
        }
        System.out.print(sb);        
    }
}

생각보다 코드가 길게 나왔지만

어렵지 않습니다