class Solution {
public int[] solution(int n, int s) {
int[] answer = new int[2];
if(s % 2 ==0) {
answer[0] = s/2;
answer[1] = s/2;
}
else if(s == 1) {
answer[0] = -1;
}
else if(s % 2 ==1) {
answer[0] = s/2;
answer[1] = (s/2) +1;
}
return answer;
}
}
해결방안
n > s 이면 [-1]을 담을 배열을 만듬
크기가 n인 배열을 만들고 s/n으로 채우고, 남은 나머지는 뒤쪽 원소부터 1씩 더해주면 됨
class Solution {
public int[] solution(int n, int s) {
if(n>s) {
return new int[] {-1};
}
int[] answer = new int[n];
for(int i=0;i<n;i++) {
answer[i] = s / n;
}
for(int i=0;i<s%n;i++) {
answer[n-1-i]++;
}
return answer;
}
}