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
반응형
'개발일지 > 코딩테스트' 카테고리의 다른 글
[Programmers] 약수의 합(c++) (0) | 2025.03.28 |
---|---|
[Programmers] 안전지대 (c++) (0) | 2025.03.17 |
[Programmers] 하샤드 수(c++) (0) | 2025.03.06 |
[Programmers] 기지국 설치(c++) (0) | 2025.03.04 |
[Programmers] 삼총사 (c++) (0) | 2025.02.17 |