수들의 합 5
int getSumOfSequentialNumbers2(int n) {
int count = 1; // n 자기 자신
if (n == 1) {
return count;
}
int i = 1;
int j = 2;
int sum = i + j;
while (j < n ) {
if (sum < n) {
j++;
sum += j;
} else if (sum > n) {
sum -= i;
i++;
}else {
count++;
j++;
sum += j;
}
}
System.out.println("i: "+i+" ||| J: "+j+ " ||| sum: " + sum);
return count;
}
주몽
void makeArmor(int M, int[] arr) {
int count = 0;
Arrays.sort(arr); // 1 2 3 4 5 7
// 숫자들이 유니크하고, 한번 쓰이면 필요 없어지고, 숫자 두 개를 뽑아서 작업을 한다... 투포인터!
int i = 0;
int j = arr.length - 1;
while (i < j) {
int sum = arr[i] + arr[j];
if (sum == M) {
count++;
i++;
j--;
}else if(sum < M){
i++;
}else {
j--;
}
}
System.out.println(count);
}