1. 문제

 

2. 접근법

투포인터 문제로 start와 end 변수를 선언하고

sum과 count를 1로 설정한다. 그 이유는 15일때 1가지가 있으므로 1로 설정

 

1. sum == N일때

end++, sum+=end, count++

 

2. sum > N 일때

sum -= start, start++

 

3. sum < N 일때

end++, sum+= end

 

 

3. 코드

package week10;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Baek2018 {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(bufferedReader.readLine());
        int start = 1;
        int end = 1;
        int sum = 1;
        int count = 1;

        while(end != N){
            if(sum == N){
                end++;
                sum += end;
                count++;
            }else if(sum > N){
                sum -= start;
                start++;
            }else{
                end++;
                sum += end;
            }
        }
        System.out.println(count);
    }
}