package main4;
import java.util.Scanner;
public class Main4 {
public int solution(int n){
// n 개 - > 7 ~ 999 // 15
int count = 0;
int sum = 0;
for(int i = 1; i <= n; i ++) {
System.out.println("....");
sum = i;
for(int j = i+1; j <= n; j ++ ) {
sum += j;
System.out.println(sum);
if(sum == n) {
count ++;
}
System.out.println("count :" + count );
}
}
return count;
};
public static void main(String[] args) {
Main4 main2 = new Main4();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
System.out.println(main2.solution(n));
}
}
(two pointers) 로 풀어낸 방식
package main4;
import java.util.Scanner;
public class Main4 {
public int solution(int n){
int lt = 0;
int sum = 0;
int count = 0;
for(int rt = 1 ; rt < n; rt ++) {
sum += rt;
if(sum == n) {
count ++;
}
while(sum >= n) {
sum -= lt;
lt++;
if(sum == n) {
count ++;
}
}
}
return count;
};
public static void main(String[] args) {
Main4 main2 = new Main4();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
System.out.println(main2.solution(n));
}
}