programmers

[JAVA] ☆연속된 수의 합

아잠만_ 2024. 6. 27. 17:12

문제

연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.

풀이 1

import java.util.*;
class Solution {
    public List<Integer> solution(int num, int total) {
        for(int i=-100; i<100; i++){
            List<Integer> answer = new ArrayList<>();
            int sum = 0;
            for(int j=0; j<num; j++){
                sum += (i+j);
                answer.add(i+j);
            }
            if(sum==total){
                return answer;
            }
        }
        return null;
    }
}

풀이 2

class Solution {
    public int[] solution(int num, int total) {
        int[] answer = new int[num];
        int temp = 0;
        for(int i=0;i<num;i++){
            temp+=i;
        }
        int value = (total-temp)/num;

        for(int i=0;i<num;i++){
            answer[i]=i+value;
        }

        return answer;
    }
}