[프로그래머스] Level3 - 최고의 집합

 
by 박신종

> 문제

문제 : [최고의 집합]



> 문제풀이

접근방법은 원소들의 합 s 를 n개로 나눈 몫을 시작으로 +1씩 증가하여 원소를 나열하는것으로 접근하였다.

하지만 n=2, s=8 인경우 [4,4] 의 결과를 도출해야하기 때문에 +1씩 증가하면 안되고, s와n을 감소하면서 반복연산 해주었다.

소스는 다음과 같다.

import java.util.*;
class Solution {
    public int[] solution(int n, int s) {
        int[] answer = s/n == 0 ? new int[]{-1} : new int[n];
        if(s/n == 0) return answer;
        int index = 0;
        while(n>0){
            int num = s/n;
            answer[index++] = num;
            s-=num;
            n--;
        }
        return answer;
    }
}




문제 출처 : Programmers