공부기록/백준

[백준] 2023번 수들의 합 2

메델 2023. 12. 15. 04:54
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);

        int n = kb.nextInt();
        int m = kb.nextInt();

        int[] prefixSum = new int[n];

        prefixSum[0] = kb.nextInt();
        
        for (int i = 1; i < n; i++) {
            prefixSum[i] = prefixSum[i - 1] + kb.nextInt();
        }

        int count = 0;
        int lt = 0, rt = 0;
        
        while (lt < n && rt < n) {
            int sum;
            if (lt == 0) {
                sum = prefixSum[rt];
            } else {
                sum = prefixSum[rt] - prefixSum[lt - 1];
            }

            if (sum < m) {
                rt++;
            } else if (sum > m) {
                lt++;
            } else {
                count++;
                rt++;
            }
        }

        System.out.println(count);
    }
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 1475번 방 번호  (0) 2023.12.17
[백준] 5800번 성적 통계  (0) 2023.12.17
[백준] 3273번 두 수의 합  (0) 2023.12.13
[백준] 2164번 카드2  (0) 2023.12.13
[백준] 1157번 단어 공부  (0) 2023.12.13