개발일지/코딩테스트
[Programmers] 최고의 집합 (c++)
쫌눈
2025. 3. 11. 19:08
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12938
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
N개의 합이 S인 원소집합 중 각 원소의 곱이 제일 큰 수를 찾는 것이다.
4, 16 => 4,4,4,4
4, 17 => 4,4,4,5
4, 18 => 4,4,5,5
4, 19 => 4,5,5,5
4, 20 => 5,5,5,5
S%N의 개수만큼 원소에 1을 더하면 된다.
기본값은 S/N이다.
vector<int> solution(int n, int s) {
vector<int> answer;
int mid = s / n;
int l = s % n;
if (mid <= 0)
{
answer.emplace_back(-1);
return answer;
}
for (int i = 0; i < n; i++)
{
answer.emplace_back(mid);
}
for (int i = 0; i < l; i++)
{
answer[i] += 1;
}
sort(answer.begin(), answer.end());
return answer;
}
728x90
반응형