https://www.acmicpc.net/problem/1940
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] arr = new int[n];
int answer = 0;
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for(int p1=0; p1<n; p1++){
int sum =0;
int p2 = p1+1;
while(p2<n){
sum = arr[p1];
sum+=arr[p2++]; // p1와 p2를 더하고 p2를 한칸 증가
if(sum == m ){ // 더한값이 m과 같으면 answer 증가
answer++;
break;
}
}
}
System.out.println(answer);
}
}
p2(p1+1)를 한칸씩 증가시키며 p1과 비교하면서 합이 m과 같으면 answer를 증가시킨다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 12847번- 꿀 아르바이트 (0) | 2022.06.26 |
---|---|
[JAVA] 백준 2018번- 수들의 합 5 (0) | 2022.06.23 |
[JAVA] 알고리즘 : Sliding window&two pointers - 연속부분수열 (0) | 2022.06.21 |
[JAVA] 알고리즘 : Sliding window - 최대 매출 (0) | 2022.06.21 |
[JAVA] 알고리즘 : two pointers - 공통원소구하기 (0) | 2022.06.20 |