https://school.programmers.co.kr/learn/courses/30/lessons/12938
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
1. ๋ฌธ์
ํฉ๊ณผ ๋ถ๋ถ์งํฉ ๊ฐ์๊ฐ ์ฃผ์ด์ง ๋, ์ต๊ณ ์ ์งํฉ์ ๋ฐํํ๋ค.
์ต๊ณ ์ ์งํฉ ์กฐ๊ฑด์ ์์๋ค์ ๊ณฑ์ด ์ต๋๊ฐ ๋ ๋์ด๋ค.
2. ํ์ด
์ฒ์์ ๋ฐ๋ก ๋ถ๋ถ์งํฉ or ์กฐํฉ์ด๊ฒ ๊ฑฐ๋ ํ๊ณ ์ ๊ทผํ๋ค.
ํ์ง๋ง ํ์ด๊ฐ ๋ณต์กํ๊ณ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋๋ฐ
์ํ์ผ๋ก ํผ ํ์ด๊ฐ ๋ง์๋ค. ์ฐธ๊ณ ํด์ ๋๋ ์ํ์ผ๋ก ํ์ด๋ณด์๋ค.
1. ์ฐ์ ๊ฐ์๊ฐ ํฉ๋ณด๋ค ํฌ๋ฉด 1๋ผ๋ฆฌ์ ํฉ ๋ณด๋ค๋ ํฌ๊ฒ ๋๋ฏ๋ก -1์ return ํด์ฃผ๊ณ ์์ํ๋ค.
2. ํต์ฌ์ bottom-up ๋ฐฉ์์ด๋ค.
- ํฉ์์ ๊ฐ์๋ฅผ ๋๋๋ฉด ํด๋น ์๋ฆฌ์ ์ฌ ์ ์๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ตฌํ ์ ์๋ค.
- ํฉ์์ ๊ทธ ๊ฐ์ ๋นผ์ฃผ๊ณ , ๊ฐ์๋ ํ๋ ์ค์ด๋ค์์ผ๋ ๋นผ์ค ํ
๋ค์ ํฉ์์ ๊ฐ์๋ฅผ ๋๋๋ฉด ๋ ๊ทธ ๋ค์ ์๋ฆฌ์ ์ฌ ์ ์๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ตฌํ ์ ์๋ค. ์ด๊ฒ์ ๋ฐ๋ณต์ด๋ค.
๋ฐ๋ณต๋ฌธ์ ์ต๋ n๋ฒ(์ต์ด n) ๋๊ฒ ๋๋ค.
3. ์ฃผ์ํ ์ ์ for๋ฌธ์์ n์ ๊ฐ์ ๋ณํ๊ธฐ ๋๋ฌธ์ ๋ฒ์์ ์ต๋๊ฐ์ผ๋ก๋ ans.length๋ก ๊ฐ์๋ฅผ ์ค์ ํ๋ค.
3. ์ฝ๋
class Solution {
public int[] solution(int n, int s) {
if (n > s) return new int[] {-1};
int[] ans = new int[n];
for (int i=0; i<ans.length; i++) {
ans[i] = s/n;
s -= s/n;
n--;
}
return ans;
}
}
4. ์ฌ๋ด
์ฌ๋ฌ ๋ฐฉํฅ์ผ๋ก ์ ๊ทผํด๋ณด์