Algorithm/Baekjoon

[백준 11659] Java 구간 합 구하기 4 / bufferedReader

say! 2025. 1. 10. 10:58
728x90

💙합 배열 만드는 공식

배열 A가 있고 합 배열 S인 경우 > S[i] = S[i-1] + A[i]

 

💙구간 합 구하는 공식

i에서 j까지 구간 합 > S[j] - S[i-1]

 

 

[수도코드]

수의 개수 N, 합을 구해야 하는 횟수 M 저장

for(N만큼 반복){

합 배열 생성 S[i] = S[i-1] + A[i]

}

for(M만큼 반복){

범위 입력받기

구간 합 출력 S[j] - S[i-1]

}

import java.util.*; // StringTokenizer 사용하기 위해
import java.io.*; // BufferedReader, InputStreamReader 사용하기 위해

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());

        long[] s = new long[n+1];
        st = new StringTokenizer(br.readLine());
        for(int i = 1; i <= n; i++){
            s[i] = s[i-1] + Integer.parseInt(st.nextToken());
        }

        for(int k = 1; k <= m; k++){
            st = new StringTokenizer(br.readLine());
            int i = Integer.parseInt(st.nextToken());
            int j = Integer.parseInt(st.nextToken());
            System.out.println(s[j] - s[i-1]);
        }
    }
}

*배열 범위 주의하기

 

 

[JAVA] BufferedReader 와 Bufferedwriter 사용법

BufferedReader :Scanner와 유사. Bufferedwriter :System.out.println();과 유사 둘은 모두 기존에 ...

blog.naver.com