프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 집합 내의 숫자들 간의 격차가 적을수록 곱이 최대가 됨
- s를 n으로 나눈 몫이 자연수가 아니면(= s가 n보다 작으면) 합이 s인 집합을 만들 수 없으므로 -1 리턴
- 자연수면 나눈 몫을 n개 저장하고 나머지만큼 각 원소에 1씩 더해줌
- 오름차순 정렬 수행
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 집합 내의 숫자들 간의 격차가 적을수록 곱이 최대가 됨
// s를 n으로 나눈 몫이 자연수가 아니면(= s가 n보다 작으면) 합이 s인 집합을 만들 수 없으므로 -1 리턴
// 자연수면 나눈 몫을 n개 저장하고 나머지만큼 각 원소에 1씩 더해줌
// 오름차순 정렬 수행
vector<int> solution(int n, int s) {
vector<int> answer;
if(n > s) return {-1};
int a = s / n;
int b = s % n;
for(int i = 0; i < n; i++)
answer.push_back(a);
for(int i = 0; i < b; i++)
answer[i]++;
sort(answer.begin(), answer.end());
return answer;
}
'프로그래머스 > 3레벨' 카테고리의 다른 글
[프로그래머스/C++] 숫자 게임 (0) | 2024.03.25 |
---|---|
[프로그래머스/C++] 단속카메라 (0) | 2024.03.22 |
[프로그래머스/C++] 등굣길 (0) | 2024.03.22 |
[프로그래머스/C++] 야근 지수 (1) | 2024.03.22 |
[프로그래머스/C++] 네트워크 (0) | 2024.03.22 |