2018번 수들의 합 5 [Java]

sua·2023년 1월 18일

백준 문제집

목록 보기
9/35

문제


풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.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 += end_index;
            } else if(sum > n) { // 현재 연속 합이 n보다 더 큰 경우
                sum -= start_index;
                start_index++;
            } else { // 현재 연속 합이 n보다 작은 경우
                end_index++;
                sum += end_index;
            }
        }
        
        System.out.println(count);
    }
}

결과

profile
가보자고

0개의 댓글