์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ์ฝํ
- ๋ฐฑ์ค
- icecandidate
- React
- router v6
- custom hook
- ์ฝ๋ ํฌ๋ฉง
- js
- ์ด๋ฏธ์ง ์์
- Node.js
- DP
- ๋์ ๊ณํ๋ฒ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ธ๋ฃจํธํฌ์ค
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- Redux toolkit
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- TypeScript
- JavaScript
- ๊ณผ์ ํ ์คํธ
- ๋๋๊ทธ ์ด๋ฒคํธ
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ์นด์นด์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฝ๋ฉํ ์คํธ
- ์นด์นด์ค์ฑ์ฉ
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- ๋ฆฌ๋์ค ํดํท
- ์ด๋ถํ์
- Today
- Total
๋ชฉ๋กDP (4)
๐ฅ dev-ruby
๋ฌธ์ https://www.acmicpc.net/problem/2502 2502๋ฒ: ๋ก ๋จน๋ ํธ๋์ด ์ฒซ์ค์ ์ฒซ ๋ ์ ์ค ๋ก์ ๊ฐ์ A๋ฅผ ์ถ๋ ฅํ๊ณ ๊ทธ ๋ค์ ๋์งธ ์ค์๋ ๋์งธ ๋ ์ ์ค ๋ก์ ๊ฐ์ B๋ฅผ ์ถ๋ ฅํ๋ค. ์ด ๋ฌธ์ ์์ ์ฃผ์ด์ง D, K์ ๋ํด์๋ ํญ์ ์ ์ A, B (1≤ A ≤ B)๊ฐ ์กด์ฌํ๋ค. www.acmicpc.net ํ์ด function solve() { const aDp = [1, 0]; const bDp = [0, 1]; for (let i = 2; i < d; i++) { aDp[i] = aDp[i - 1] + aDp[i - 2]; bDp[i] = bDp[i - 1] + bDp[i - 2]; } const aCoef = aDp[d - 1]; const bCoef = bDp[d - 1]; f..
๋ฌธ์ (https://www.acmicpc.net/problem/14501) ์๋ด์์ผ๋ก ์ผํ๊ณ ์๋ ๋ฐฑ์ค์ด๋ ํด์ฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค. ์ค๋๋ถํฐ N+1์ผ์งธ ๋๋ ๋ ํด์ฌ๋ฅผ ํ๊ธฐ ์ํด์, ๋จ์ N์ผ ๋์ ์ต๋ํ ๋ง์ ์๋ด์ ํ๋ ค๊ณ ํ๋ค. ๋ฐฑ์ค์ด๋ ๋น์์๊ฒ ์ต๋ํ ๋ง์ ์๋ด์ ์ก์ผ๋ผ๊ณ ๋ถํ์ ํ๊ณ , ๋น์๋ ํ๋ฃจ์ ํ๋์ฉ ์๋ก ๋ค๋ฅธ ์ฌ๋์ ์๋ด์ ์ก์๋์๋ค. ๊ฐ๊ฐ์ ์๋ด์ ์๋ด์ ์๋ฃํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ๊ธฐ๊ฐ Ti์ ์๋ด์ ํ์ ๋ ๋ฐ์ ์ ์๋ ๊ธ์ก Pi๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. N = 7์ธ ๊ฒฝ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ์๋ด ์ผ์ ํ๋ฅผ ๋ณด์. 1์ผ 2์ผ 3์ผ 4์ผ 5์ผ 6์ผ 7์ผ Ti 3 5 1 1 2 4 2 Pi 10 20 10 20 15 40 200 1์ผ์ ์กํ์๋ ์๋ด์ ์ด 3์ผ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ์๋ดํ์ ๋ ๋ฐ์ ์ ์๋ ๊ธ์ก์ 10์ด๋ค..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/yPQHM/btrrOcObi88/9CyJyE66Iw5E4x2H2mPNAk/img.png)
๋ฌธ์ https://www.acmicpc.net/problem/11052 11052๋ฒ: ์นด๋ ๊ตฌ๋งคํ๊ธฐ ์ฒซ์งธ ์ค์ ๋ฏผ๊ท๊ฐ ๊ตฌ๋งคํ๋ ค๊ณ ํ๋ ์นด๋์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000) ๋์งธ ์ค์๋ Pi๊ฐ P1๋ถํฐ PN๊น์ง ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ํ์ด function solution(N, price){ let dp = [0, ...price]; for(let i = 2; i +el); console.log(solution(N, price)) ์ฒ์์ ์ผ์ผ์ด N๊ฐ๋ฅผ ๋ฝ์ ์ ์๋ ์กฐํฉ์ ๊ฒฝ์ฐ ์๋ฅผ ๋ค ๊ตฌํ๋๋ฐ, ์๋ฌด๋ฆฌ๋ด๋ ์ข ๋ ์ฝ๊ฒ ํ ์ ์์ ๊ฒ ๊ฐ์๋ค. ์ ์ฝ๋๋ ๊ฐ i๋ง๋ค i๊ฐ์ฉ ๋ฝ์ ์ ์๋ ๊ฒฝ์ฐ์ ์ ๋ณ๋ก ์ต๋๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธ ํด์ฃผ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/6a05r/btroAA5EMUD/35BxevCs1Vb93avxps8aW0/img.png)
๋์ ๊ณํ๋ฒ(Dynamic Programming)์ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋์ด ํธ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. dp์ ํต์ฌ์ "๋ฉ๋ชจ์ด์ ์ด์ " ๊ธฐ๋ฒ์ธ, ์ด๋ฏธ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ์ฌ ํ์ํ ๊ฒฝ์ฐ ๋ค์ ๊ณ์ฐํ์ง ์๊ณ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์์ ๋ฌธ์ ๋ค์ด ๊ณ์ ๋ฐ๋ณต๋๊ณ , ๊ทธ ์์ ๋ฌธ์ ์ ๊ฒฐ๊ด๊ฐ์ ํญ์ ๊ฐ์ ๋ DP ์๊ณ ๋ฆฌ์ฆ ์ ์ฉํ ์ ์๋ค. ๊ฐ์ฅ ๋ํ์ ์ธ ์๋ก ํผ๋ณด๋์น ์์ด์ ๋ค ์ ์๋ค. ํผ๋ณด๋์น ์์ด ํผ๋ณด๋์น ์์ด์ ์ดํด๋ณด์. ํผ๋ณด๋์น ์์ด์ ์๋์ ๊ฐ๋ค. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ... ํผ๋ณด๋์น ์์ด์ ๊ตฌํ ๋๋ ์ฌ๊ท๋ฅผ ์ด๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ด์ ๊ฒฐ๊ณผ์ ์ ์ ๊ฒฐ๊ณผ์ ํฉ์ผ๋ก ๊ณ์ ๊ตฌํด๋๊ฐ๋ ๋ฐฉ์์ด๋ค. return f(n) = f(n-1) + f(n-2) ๊ทธ๋ฐ..