프로그래머스 최고의 집합 (Java,자바)

jonghyukLee·2022년 9월 9일
0

이번에 풀어본 문제는
프로그래머스 최고의 집합 입니다.

📕 문제 링크

❗️코드

import java.util.*;
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[i]++;
        }
        Arrays.sort(answer);
        return answer;
    }
}

📝 풀이

n개의 원소를 가진 집합의 합이 s라고 할 때, 집합의 곱이 최대가 되는 최고의 집합을 구해 출력하는 문제입니다.
항상 모든 원소가 (s / n)일때 가장 큰 조건을 만족하며, 나누어 떨어지지 않을 경우 해당 나머지 개수만큼의 원소에 값을 더해주면 최고의 집합을 구해낼 수 있다.

📜 후기

모든 조합을 구했더니 메모리 초과가 발생해서, 다른 풀이를 참고했습니다.
정말 똑똑한 풀이인 것 같네요..! 생각도 못했습니다 ㅎㅎ

profile
머무르지 않기!

0개의 댓글