class Solution {
public int[] solution(int n, int s) {
int[] answer = new int[n];
// 자연수 n개
// 합이 = s
// 원소의 곱 = 최대 max
// 자연수
//오름차순
// 800/4 s/n
// 800/ 13/4
// 200 200 200 200
//예외 처리1 자연수 갯수보다 합이 더 작으면 -1 반환
if(n>s) return new int[]{-1};
int result = 0;
//반복으로 각 집합별 최적의 값 세팅
while(true){
if(n>s || s==0) break;
result += s/n;
s=s%n;
}
// 배열에 최적값 세팅 + 나머지 값들에 +1
for(int i=0;i<n;i++){
//나머지수 만큼 뒷배열에 +1 시켜줌
if(s!=0 && i>n-s-1){
answer[i] = result+1;
continue;
}
answer[i] = result;
}
return answer;
}
}'기타 > 코딩테스트' 카테고리의 다른 글
| (코테) 프로그래머스_야근 지수 *우선순위 큐 (0) | 2025.09.11 |
|---|---|
| (코테) 프로그래머스_거스름돈 *dp (0) | 2025.09.11 |
| (코테) 프로그래머스_양과늑대 *dfs + 트리 (0) | 2025.09.10 |
| (코테)프로그래머스_풍선 터트리기 *dp (0) | 2025.09.08 |
| (코테) 프로그래머스_정수 삼각형 * dp ,인플레이스 dp (0) | 2025.09.05 |