개발놀이터

3-5. 연속된 자연수의 합 본문

기타/코딩테스트

3-5. 연속된 자연수의 합

마늘냄새폴폴 2023. 2. 18. 09:43

package 배열응용3장.연속된자연수의합3다시5.my;

import java.util.Scanner;

public class Main {

    /**
     * 이전 문제와 완벽히 동일 피드백 X
     */

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int input = kb.nextInt();
        int[] arr = new int[input];
        for (int i = 0; i < input; i++) {
            arr[i] = i + 1;
        }

        System.out.println(solution(arr, input));
    }

    private static int solution(int[] arr, int input) {
        int answer = 0;
        // input = 5, arr = 1 2 3 4 5
        int start = 0, end = 0, sum = 0;

        while (start < input && end < input) {
            if (input <= sum) {
                sum -= arr[start];
                start++;
            }
            else {
                // input > sum
                // 5 > 0
                sum += arr[end];
                end++;
            }

            if (input == sum) {
                answer++;
            }
        }

        return answer;
    }
}

 

'기타 > 코딩테스트' 카테고리의 다른 글

3장 주요 개념 및 복습  (0) 2023.02.18
3-6. 최대 길이 연속 부분수열  (0) 2023.02.18
3-4. 연속 부분수열  (0) 2023.02.18
3-3. 최대 매출  (2) 2023.02.18
3-2. 공통 원소 구하기  (0) 2023.02.18