ํด๊ฒฐ๋ฐฉ๋ฒ
- ๋ฌธ์ ์ค๋ช ์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ด ์๋๋ฐ, ๊ทธ์ค ๋ ๋ฒ์งธ ์กฐ๊ฑด์ธ "์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ๊ฐ ์์์ ๊ณฑ์ด ์ต๋๊ฐ ๋๋ ์งํฉ"์ด๋ผ๋ ๊ฒ์ ํํธ๋ฅผ ์ป์ ์ ์์
- ์์์ ๊ณฑ์ด ์ต๋ → ๋๋์ ์ ํ์ฉํ์ฌ ํด๊ฒฐ
- ์์๋ค์ ํฉ(s)์ ์์์ ๊ฐ์(n)์ผ๋ก ๋๋ ๋ชซ์ ๊ตฌํ๋ฉด ์์ 1๊ฐ๋ฅผ ๊ตฌํ ์ ์์
- ๊ทธ๋ฌ๋ฉด s์์ ์์์ ๊ตฌํ ์์ 1๊ฐ๋ฅผ ๋นผ์ฃผ๋ฉด (s -= div) ๋๋จธ์ง ์์๋ ๊ตฌํ ์ ์์
- n > s์ธ ๊ฒฝ์ฐ(์์์ n=2, s=1)์ ๋ํ ์์ธ ์ฒ๋ฆฌ๋ ์ถ๊ฐํด ์ฃผ๋ฉด ๋จ
์ฝ๋
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> solution(int n, int s) {
vector<int> answer;
if(n>s) {
answer.push_back(-1);
return answer;
}
while(n > 0)
{
int div = s/n;
answer.push_back(div);
s -= div;
n--;
}
sort(answer.begin(), answer.end());
return answer;
}
'๐Algorithm ------------ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - level3/๋ฒ ์คํธ ์จ๋ฒ/C++ (2) | 2023.05.17 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - level2/๊ฐ์ฅํฐ์/C++ (0) | 2023.05.15 |
ํ๋ก๊ทธ๋๋จธ์ค - ํ์๋ฒ(Greedy)/์ฒด์ก๋ณต/C++ (0) | 2021.08.02 |
ํ๋ก๊ทธ๋๋จธ์ค - ์์ ํ์/๋ชจ์๊ณ ์ฌ/C++ (0) | 2021.07.30 |
ํ๋ก๊ทธ๋๋จธ์ค - ์ ๋ ฌ/k๋ฒ์งธ์/C++ (0) | 2021.07.28 |