[백준, BOJ 2018] 수들의 합 5 (java)
Problem Solving/BOJ

[백준, BOJ 2018] 수들의 합 5 (java)

728x90

https://www.acmicpc.net/problem/2018

메모리: 14,192 KB , 시간: 152 ms

사용 알고리즘: 수학, 두 포인터

728x90

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

public class Main {

    public static void main(String[] args) throws Exception{

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        // 투포인터
        int s = 1, e = 1;
        int sum = 1;
        int result = 0;
        while(e <= N) {

            if(sum == N) {
                result++;
                sum -= s++;
            }
            else if(sum < N) {
                sum += ++e;
            }
            else {
                sum -= s++;
            }
        }

        System.out.println(result);
    }
}
728x90