์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ํ๋ก๊ทธ๋๋จธ์ค
- DP
- Node.js
- ์นด์นด์ค์ฑ์ฉ
- ๋ธ๋ฃจํธํฌ์ค
- ์ฝ๋ ํฌ๋ฉง
- ์๋ฐ์คํฌ๋ฆฝํธ
- Redux toolkit
- router v6
- icecandidate
- ๊ณผ์ ํ ์คํธ
- ๋์ ๊ณํ๋ฒ
- ๋๋๊ทธ ์ด๋ฒคํธ
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- TypeScript
- ์ด๋ถํ์
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- React
- ์ฝํ
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- ๋ฆฌ๋์ค ํดํท
- ์ฝ๋ฉํ ์คํธ
- custom hook
- ๋ฐฑ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ์ด๋ฏธ์ง ์์
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ์นด์นด์ค
- js
- JavaScript
- Today
- Total
๋ชฉ๋กalgorithm (3)
๐ฅ dev-ruby
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ZBuBB/btrrJt3dUTP/rHapwrJrpztlJK2QNCJ2hK/img.gif)
์ด์ง ํ์ (์ด๋ถ ํ์, Binary Search) ์ด์ง ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ ฌ๋์ด ์๋ ๋ฆฌ์คํธ์์ ํ์ ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด์ง ํ์์ ๋ฐฐ์ด์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ด์ผ๋ง ์ฌ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ณ์ 3๊ฐ(start, mid, end)๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ๋ค. ์ฐพ๊ณ ์ํ๋ ๋ฐ์ดํฐ์ ๋ฐฐ์ด์ ์ค๊ฐ(mid) ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๊ตํด์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ด์ง ํ์์ด๋ค. ์ด์ง ํ์(Binary Search)์ ํ์ ๊ณผ์ ์์ ๋ฐ์ดํฐ ์งํฉ์์ 8์ด๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋๋ก ํ์. ์ฐ์ ์ฒซ๋ฒ์งธ๋ก ๋ฐฐ์ด์ ์ค๊ฐ ์์๋ฅผ ์ ํํ๋ค. mid = 7; ๋๋ฒ์งธ๋ก๋ ์ค๊ฐ ๊ฐ๊ณผ ์ฐพ์ผ๋ ค๋ ๊ฐ์ ์๋ก ๋น๊ตํ๋ค. ๋ง์ฝ ์ฐพ์ผ๋ ค๋ ๊ฐ์ด ์ค๊ฐ ๊ฐ๋ณด๋ค ์๋ค๋ฉด ์ค์ ์์์ ์ผ์ชฝ์์ ์ค๊ฐ ๊ฐ์ ๋ค..
![](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) ๊ทธ๋ฐ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bfemz1/btrl9QJZXId/iSoMpVv7tLulHcMmkweZH0/img.png)
Dijkstra ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์์์ ์ผ๋ก ๋ถํฐ ๋๋จธ์ง ์ ์ ๊น์ง ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉ๋๋ค. ๊ฐ์ ์ ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์์ 1:N ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋จ, ๊ฐ์ค์น๋ ์์(-) ๊ฐ์ ๊ฐ์ง์ง ์๋๋ค. ๊ตฌํ๋ฐฉ๋ฒ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๊ฐ์ ์ ์ ์ ๋ํด์ ์ ์ s์์ ์ ์ v๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ d[v]์ ์ ์ฅํ๋ฉด์ ํ์ํ๋ค. ์๊ณ ๋ฆฌ์ฆ ์์ ์, d[s] = 0์ด๊ณ , s๊ฐ ์๋ ๋ค๋ฅธ ๋ชจ๋ ์ ์ ์ ๋ํด์๋ d[v] = ํด๋น๊ฐ์ค์น ๋ก ์์ํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ด ์ข ๋ฃ ์, d[v]๋ s์์ v๊น์ง์ ์ต๋จ ๊ฒฝ๋ก์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๊ฒ ๋๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. Graph[A][B]๋ A์์ B๊น์ง ๊ฐ๋ ๋ฐ ๋๋ ๋น์ฉ ์ด๋ผ๊ณ ํ์. 1. ์ฃผ์ด์ง N๊ฐ์ ์ ์ ๊ทธ๋ํ์์ NxN 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ..