Algorithm

(Java) 구간 합 구하기(백준 11659)

Accept 2023. 6. 6. 15:11
public static void main(String[] args) throws IOException {

    BufferedReader bufferedReader =
            new BufferedReader(new InputStreamReader(System.in));

    StringTokenizer stringTokenizer =
            new StringTokenizer(bufferedReader.readLine());

    int dataNo = Integer.parseInt(stringTokenizer.nextToken()); // 데이터 수
    int quizNo = Integer.parseInt(stringTokenizer.nextToken()); // 질의 수
    long[] sum = new long[dataNo+1]; // 합 배열

    stringTokenizer = new StringTokenizer(bufferedReader.readLine());
    for (int i=1; i<=dataNo; i++) { // 합 배열 구하기, index는 0부터 시작이므로 i는 1부터 시작
        sum[i] = sum[i-1] + Integer.parseInt(stringTokenizer.nextToken());
    }

    for (int q=0; q<quizNo; q++) {
        stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        int i = Integer.parseInt(stringTokenizer.nextToken());
        int j = Integer.parseInt(stringTokenizer.nextToken());
        System.out.println(sum[j] - sum[i-1]);
    }
}