1. 문제
https://www.acmicpc.net/problem/2003
2. 코드 #1
public static void main(String[] args) {
// int[] nums = { 1, 1, 1, 1 };
int[] nums = { 1, 2, 3, 4, 2, 5, 3, 1, 1, 2 };
int m = 5;
int result = 0;
for ( int i=0; i<nums.length; i++ ) {
int thisSum = 0;
for ( int j=i; j<nums.length; j++) {
thisSum += nums[j];
if ( thisSum == m ) {
result++;
break;
}
}
}
System.out.println("result="+result);
}
3. 코드 #2
public static void main(String[] args) {
// int[] nums = { 1, 1, 1, 1 };
int[] nums = { 1, 2, 3, 4, 2, 5, 3, 1, 1, 2 };
int m = 5;
int sum = 0;
int result = 0;
int i = 0;
int j = 0;
while (true) {
if (sum >= m) {
sum -= nums[i++];
} else if (j == nums.length) {
break;
} else {
sum += nums[j++];
}
if (sum == m) {
System.out.println(i + "~" + j);
result++;
}
}
System.out.println("result=" + result);
}
