dev.Log

2018 연속합 본문

알고리즘

2018 연속합

초코푸딩 2022. 9. 5. 13:38
import java.util.Scanner;

public class TwoPointer {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int N = scan.nextInt();
        int count = 1;
        int start_index = 1;
        int end_index=1;
        int sum = 1;
        while(end_index != N) {
            if (sum == N) { //현재 연속 합이 N과 같은 경우
                count++;
                end_index++;
                sum = sum + end_index;
            } else if (sum > N) { //현재 연속합이 N보다 큰 경우
                sum = sum - start_index;
                start_index++;
            } else { //연속합이 N보다 작은 경우
                end_index++;
                sum = sum + end_index;
            }
        }
        System.out.println(count);
    }
}

'알고리즘' 카테고리의 다른 글

Deque<Node> deque = new LinkedList<>();  (0) 2022.09.12
1253 투포인터  (0) 2022.09.08
10986 나머지합구하기  (0) 2022.09.04
11659 구간합  (1) 2022.09.02
1546 평균구하기  (0) 2022.09.02
Comments