์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๊ฐ์ดํ ์ข ๋ญ๊ฐ๋น
- ์ฑ
- ๋ ์
- ์ค๋ธ์
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์นดํ๋๊ฐ
- ์๋ฐ
- ๊ฐ๋ฐ
- ์ํ์ฃผ
- Python
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๋ก๊ทธ๋๋ฐ
- database
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- Java
- ํ์ฒ์ ๋ฆฌํธ๋ฆฌํธ
- ํ์ด์ฌ
- ์ํ
- ๋ฐฐ์์ ๋ฐฐ์
- ๋๊ฐ
- ์นํผ๋ธ๋ฆฌ์ฑ
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- css
- ๋ฐ์ํ
- ์ ๋ฆฌํธ๋ฆฌํธ
- ์ค๋ผํด
- JavaScript
- html
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ฝ๋ฉ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (235)
JiYoung Dev ๐ฅ

2023.02.28 ์ฝ๋์ ํ์ต๋ด์ฉ ๐ Dynamic Programming ์ฐ์ต๋ฌธ์ ๊ฐ์ง๊ณ ์๋ ์๊ผผ๋ฌ๊ผผ์ผ๋ก ๋ฒ์ด๋ค์ผ ์ ์๋ ์ต๋ ์์ต ๊ตฌํ๊ธฐ price_list : ๊ฐ์๋ณ ๊ฐ๊ฒฉ์ด ์ ๋ฆฌ๋์ด ์๋ ๋ฆฌ์คํธ count : ํ๋งคํ ์๊ผผ๋ฌ๊ผผ ๊ฐ์ cache : ๊ฐ์๋ณ ์ต๋ ์์ต์ด ์ ์ฅ๋์ด ์๋ ์ฌ์ ๐ memoization์ผ๋ก ๋ฌธ์ ํ๊ธฐ โ base case : 0๊ฐ ํ์์ ๋ ํน์ 1๊ฐ ํ์์ ๋์๋ price_list์ ๊ฐ๊ฒฉ ๊ทธ๋๋ก ์ถ๋ ฅ โก recursive case : ์ต๋ ์์ต ๊ตฌํ๊ธฐ 1๊ฐ ํ์์ ๋ ์์ต : 100 2๊ฐ ํ์์ ๋ ๋์ฌ ์ ์๋ ์์ต : (1๊ฐ, 1๊ฐ) ํ์์ ๋ ํน์ (2๊ฐ, 0๊ฐ) ํ์์ ๋ 3๊ฐ ํ์์ ๋ ๋์ฌ ์ ์๋ ์์ต : (1๊ฐ, 2๊ฐ) ํ์์ ๋ ํน์ (3๊ฐ, 0๊ฐ) ํ์..

2023.02.27 ์ฝ๋์ ํ์ต๋ด์ฉ ๐ Dynamic Programming ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ ์๊ณ ๊ฐ๋จํ ํ์ ๋ฌธ์ ๋ก ๋ถํดํ์ฌ ๊ฐ๊ฐ์ ํ์ ๋ฌธ์ ๋ฅผ ํ ๋ฒ๋ง ํ๊ณ , ๊ฐ ํ์ ๋ฌธ์ ์ ํด๊ฒฐ์ฑ ์ ํ์ ์ ์ฅํ ํ ํ์์ ๋ฐ๋ผ ์ฌ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์. Dynamic Programming์ ์กฐ๊ฑด 1. ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ (Optimal Substructure) ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ๊ฐ ์๋ค๋ ๊ฒ์ ๋ถ๋ถ ๋ฌธ์ ๋ค์ ์ต์ ์ ๋ต์ ์ด์ฉํ์ฌ ๊ธฐ์กด ๋ฌธ์ ์ ์ต์ ์ ๋ต์ ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํจ. ์ฆ, ๊ธฐ์กด ๋ฌธ์ ๋ฅผ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ด ํ ์ ์์ด์ผ ํจ. (ex. ํผ๋ณด๋์น ์์ด) 2. ์ค๋ณต๋๋ ๋ถ๋ถ ๋ฌธ์ (Overlapping Subproblems) ํผ๋ณด๋์น ์์ด๊ณผ ๊ฐ์ด ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ๊ฐ ์๋ ๋ฌธ์ ๋ฅผ ํ ๋์๋ ์ค๋ณต ๋๋ ๋ถ๋ถ ๋ฌธ์ ๋ค..

2023.02.25 ~ 2023.02.26 ์ฝ๋์ ํ์ต๋ด์ฉ ๐ Divide and Conquer ๋ถํ ์ ๋ณต ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ(Divide and Conquer algorithm)์ ๊ทธ๋๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋ถํ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ. ํต ์ ๋ ฌ์ด๋ ํฉ๋ณ ์ ๋ ฌ๋ก ๋ํ๋๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ, ํ๋ ฌ ๊ณฑ์ ๋ฑ์ด ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์ ๋ณดํต ์ฌ๊ท ํจ์(recursive function)๋ฅผ ํตํด ์์ฐ์ค๋ฝ๊ฒ ๊ตฌํ๋จ. ๋ฐ๋ผ์ ๋ถํ ์ ๋ณต์ ์ดํดํ๊ธฐ ์ํด์๋ ์ฌ๊ท ๊ฐ๋ ์ ๋ํ ์ดํด๊ฐ ์ฐ์ ํจ. function F(x) : # base case if F(x)์ ๋ฌธ์ ๊ฐ ๊ฐ๋จ: return F(x)์ ์ง์ ๊ณ์ฐํ ๊ฐ # ์ฌ๊ทํจ์ x๋ฅผ y1๊ณผ y2๋ก ๋ถํ F..

2023.02.24 ์ฝ๋์ ํ์ต๋ด์ฉ ๐ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์(algorithm paradigm) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ด ์์. ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค ๋ณด๋ฉด ํด๊ฒฐ ๊ณผ์ ์ด ๋น์ทํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ์ด๋ฌํ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์์ด๋ผ๊ณ ํจ. ์ฆ, ์ด๋ ํ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ์ ๊ทผ๋ฒ ํน์ ๋ฐฉ๋ฒ๋ก . ๋ช ๊ฐ์ง ์์ฃผ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์์ด ์์ผ๋ฉฐ, ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ์์ ๋ง์ ๊ธฐ์ ๊ณผ ๋๊ตฌ๋ฅผ ๊ฐ์ง๊ณ ์์. ๋ํ, ํ๋์ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์์ผ๋ก ํ ๋ฌธ์ ์ ์ ๊ทผํ ์๋ ์์. ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ ํจ๋ฌ๋ค์ 1. Greedy Algorithms 2. Divide and Conquer 3. Dynamic Programming 4. Backtrack..

๋๋ ์์ธ์ด๋ฅผ ๊ทธ๋ค์ง ์ข์ํ์ง ์๋๋ค. ์๊ธฐ๊ณ๋ฐ์ ๋ํ. ์ ์์ ๊ฒฝํ์ด ๋ด๊ธด ๋ด์ฉ๋ณด๋ค๋ ์ด๋ก ์ด๋ ์ง์์ด ๋ด๊ธด ์ฑ ์ ๋ ์ข์ํ๊ณ , ์๋๋ฉด ๋ง์๊ป ์์ํ ์ ์๋ ์์ค๋ฅ๋ฅผ ์ข์ํ๋ค. ์ด ์ฑ ์ ์ง๊ธ์ ๋ฐ๋์์ง๋ง ๋ช ์ผ ์ ๊น์ง๋ง ํด๋ ๋ฐ๋ฆฌ์ ์์ฌ์์ ์์ ๋ฒ ์คํธ 1์์ ์ฌ๋ผ์์๋ ์ฑ ์ด๋ค. ์๋ ์ฌ์ง์ฒ๋ผ ์ง๊ธ๋ 3์์ ๋จธ๋ฌผ๋ฌ ์๋ค. ๊ณ์ ์์๊ถ์ ์๋ ์ฑ ์ด๋ผ ๋์๋ ๋ค์ด์ค๋๋ฐ ์ ๋ชฉ๊ณผ ํ์ง๋ง ๋ดค์ ๋๋ ๋ญ๊ฐ ์ฝ๊ธฐ๋ ์ซ์... ๊ทธ๋์ ํ๋์ ์ฝ์ง ์์์๋ค. ๊ทธ๋ฐ๋ฐ ์ต๊ทผ์ ์๊ฐ์ด ์ข ์๊ธฐ๋ฉด์ ๋ค์ํ ์ฑ ์ ๋ง์ด ์ฝ์ด๋ณด์๋ ์๊ฐ์ ํ๊ณ , ์์๊ถ์ ๋ค์ด์๋ ์ฑ ์ ๋ชจ๋ ๋ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ์ด ์ฑ ์ ์ฝ๊ฒ ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์ด ์ฑ ์ด ๋ฒ ์คํธ์ ์๋ ์ด์ ๊ฐ ์๋๋ผ. ์ ๋ง ์ฝ์ผ๋ฉด์ ์งง์ ์ธ์์ ์ด์์ง๋ง ๋ด๊ฐ ์ด๋ฉด์ ์ด๋ ดํ์ด ๋..