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

well-life-gm·2021년 12월 22일
0

프로그래머스

목록 보기
108/125

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

n개의 원소들의 차이가 최소가 될 때가 n개의 원소를 곱했을 때의 최대값이다.
n = 3, s = 10일 때 [3, 4, 4]가 정답인데 이는 즉, 10 % 3 == 2개의 원소는 다른 1개의 원소 값보다 1큰 것을 의미하고, 다른 1개의 원소 값은 10 / 3 == 3이다.

코드는 아래와 같다.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int n, int s) {
    vector<int> answer;
    int base = s / n;
    int remain = s % n;
    if(base == 0)
        return { -1 };
    for(int i=0;i<n-remain;i++)
        answer.push_back(base);
    for(int i=0;i<remain;i++)
        answer.push_back(base + 1);
    return answer;
}

결과

profile
내가 보려고 만든 블로그

0개의 댓글