> 문제
문제 : [최고의 집합]
> 문제풀이
접근방법은 원소들의 합 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