์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- ์ ์ฒ๊ธฐ
- ์๋ฐ
- Docker
- express.js
- ๋์ปค
- ์ฝ๋ฉํ ์คํธ ๊ณ ๋์ kit
- DP
- DFS
- ์๊ณ ๋ฆฌ์ฆ
- ์คํ๋ง ๋ถํธ
- ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ
- ์คํ๋ง๋ถํธ
- ๊ณจ๋4
- ๋ฐฐํฌ
- Express
- ํ๋ก์ ํธ
- ๋์
- ๊ณจ๋5
- ๊ณจ๋3
- ๋์์ธํจํด
- ์ธ์คํด์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฃ๊ตฌ์กฐ
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ํ๊ตญ์ ์ํต์ ์ฐ๊ตฌ์
- BFS
- ETRI
- aws
- ์๋ผ์คํฑ๋น์คํก
- EC2
๋ชฉ๋ก์๊ณ ๋ฆฌ์ฆ (19)
JUINTINATION
์์์ ๋ ฌ(Topological Sort)์ด๋? ์ ํฅ ๋น์ํ ๊ทธ๋ํ(DAG, Directed Acyclic Graph)์์ ์ ์ ์ ๊ฐ์ ์ ๋ฐฉํฅ์ ๊ฑฐ์ค๋ฅด์ง ์๋๋ก ๋์ดํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ค์ ๋ผ๋ฉด ๋์ด๊ธฐ ์์ ๋ฅผ ๋ณด์ ์ฐ๋ฆฌ๋ ๋ผ๋ฉด์ ๋์ผ ๋ ๋๋น์ ๋ฌผ์ ๋จผ์ ๋ถ์ด๋ ๋๊ณ ๋ผ๋ฉด ๋ด์ง๋ฅผ ๋จผ์ ๋ฏ์ด๋ ๋์ง๋ง ๊ณ๋์ ๋งจ ๋ง์ง๋ง์ ํ์ด์ผ ํ๋ค. ์ด๋ฌํ ๋ฐฉํฅ์ ์์ง๋ง ์ฌ์ดํด์ ์๋ ๊ทธ๋ํ๋ฅผ ๊ฐ์ ์ ๋ฐฉํฅ์ ๊ฑฐ์ค๋ฅด์ง ์๊ณ ํ ์ค๋ก ์ ๋ ฌ์ํค๋ ๊ฒ์ด ์์์ ๋ ฌ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ์์์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(1) ์ง์ ๊ฐ์ ์ด ์๋ ์ ์ ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ R์ ๋งจ ๋ค์ ์ฐ๊ฒฐํ๊ณ ํด๋น ์ ์ ๊ณผ ๊ทธ ์ ์ ์ ์ง์ถ ๊ฐ์ ์ ์ ๊ฑฐํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ์์ฌ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์์ ์์๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ๊ทธ ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. topological_so..
์ต์ ์ ์ฅ ํธ๋ฆฌ(MST)๋? ๊ฐ์ค์น ๊ทธ๋ํ์์ ์ฌ์ดํด ์์ด ๋ชจ๋ ์ ๋ค์ ์ฐ๊ฒฐ์ํจ ํธ๋ฆฌ๋ค ์ค ์ ๋ถ๋ค์ ๊ฐ์ค์น ํฉ์ด ์ต์์ธ ํธ๋ฆฌ ์ฆ, ์ด๋ค ๊ฐ์ค์น ๊ทธ๋ํ์ ์ ์ฅ ํธ๋ฆฌ ์ค ์ ๋ถ๋ค์ ๊ฐ์ค์น ํฉ์ด ์ต์์ธ ํธ๋ฆฌ ์ ์ฅ ํธ๋ฆฌ๋ ๊ทธ๋ํ์์ ์ฌ์ดํด ์์ด ๋ชจ๋ ์ ๋ค์ ์ฐ๊ฒฐ์ํจ ํธ๋ฆฌ๋ก ์ฃผ์ด์ง ๊ทธ๋ํ์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ์ฌ์ดํด์ด ์๋๋ก ๋ชจ๋ ์ ์ ์ฐ๊ฒฐ์ํค๋ฉด ๋๋ค. ์ ์ฅ ํธ๋ฆฌ๋ ๊ทธ๋ํ์์ ์ฌ์ดํด ์์ด ๋ชจ๋ ์ ๋ค์ ์ฐ๊ฒฐ์ํจ ํธ๋ฆฌ๋ก ๊ทธ๋ํ์ ์ ์ด n๊ฐ ์๋ค๋ฉด ์ ์ฅ ํธ๋ฆฌ์๋ n-1๊ฐ์ ์ ๋ถ์ด ์๋ค. ๋ค์ ์์์์ ์ผ์ชฝ ๊ทธ๋ฆผ์ ๊ทธ๋ํ์ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๊ทธ๋ํ์ ๊ฐ๋ค. MST๋ฅผ ์ฐพ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ต์ ์ ์ฅ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๋ํ์ ์ธ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskal's Algorithm)๊ณผ ํ๋ฆผ ์๊ณ ๋ฆฌ..
์๋ก์ ์งํฉ(Disjoint Set)์ด๋? ๊ณตํต ์์๊ฐ ์๋ ๋ ์งํฉ, ์ฆ A∩B=∅์ ๋ง์กฑ์ํค๋ ๋ ์งํฉ A, B๋ฅผ ์๋ก์ ์งํฉ์ด๋ผ๊ณ ํ๋ค. ์ ๋์จ ํ์ธ๋(Union-Find)๋? ์๋ก์ ์งํฉ์ ๋ํ ์ฐ์ฐ์ ํ ๋ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ฌ์ด ์ดํด๋ฅผ ์ํด ๋ค์์ ์์๋ฅผ ๋ณด์. https://www.acmicpc.net/problem/1717 1717๋ฒ: ์งํฉ์ ํํ ์ด๊ธฐ์ $n+1$๊ฐ์ ์งํฉ $\{0\}, \{1\}, \{2\}, \dots , \{n\}$์ด ์๋ค. ์ฌ๊ธฐ์ ํฉ์งํฉ ์ฐ์ฐ๊ณผ, ๋ ์์๊ฐ ๊ฐ์ ์งํฉ์ ํฌํจ๋์ด ์๋์ง๋ฅผ ํ์ธํ๋ ์ฐ์ฐ์ ์ํํ๋ ค๊ณ ํ๋ค. ์งํฉ์ ํํํ๋ ํ๋ก๊ทธ๋จ์ ์ www.acmicpc.net ์์ ๋ฌธ์ ์ฒ๋ผ ์ด๊ธฐ์ n+1๊ฐ์ ์งํฉ {0}, {1}, {2}, ... , {n}์ด..
์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ๊ณผ์ ๋ด์ฉ ์ค๊ณ๊ณผ์ #1 : QuickSort๋ฅผ 3๊ฐ์ง(Iterative, Recursive(devide&conquer), Randomized(pivot ์์ ๋๋ค์ผ๋ก ์ ํ)) ๋ฒ์ ์ผ๋ก ๊ตฌํํ์ฌ ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ฅธ ๋น๊ต ์ฐ์ฐ ํ์๋ฅผ ๋น๊ตํ๋ ํ๋ก๊ทธ๋จ ์์ฑ ์ ๋ ฅ ๋ฐ์ดํฐ๋ ์๋์ ๊ฐ์ด ๋๋ค์ผ๋ก ์์ฑ for i(๋ฐ์ดํฐ์ ์ฌ์ด์ฆ) = 10**2, 10**4, 10**8, 10**16, ... // ๋ณธ์ธ ์ปดํจํฐ๊ฐ ์ ๋นํ ์๊ฐ ๋ด์ ๊ฐ๋นํ ์ ์๋ ํ... for j=1,2,...,30(30๊ฐ์ธํธ๋ฅผ๋ง๋ฌ) // i ์ฌ์ด์ฆ ๋งํผ์ ๋ฐ์ดํฐ๋ฅผ j ์์ฑํ๋ for loop data_set(i,j) = {x | x = random[1..i] * i} ์ค๊ณ๊ณผ์ #2 : LCS(Longest Common Substri..
๊ทธ๋ํ(Graph)๋? ์ฐ๊ฒฐ๋์ด ์๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์๋ฃ๊ตฌ์กฐ ๊ทธ๋ํ G๋ (V, E)๋ก ํ์ ์ ์ (vertices) ์ฌ๋ฌ ๊ฐ์ง ํน์ฑ์ ๊ฐ์ง ์ ์๋ ๊ฐ์ฒด ๋ ธ๋(node)๋ผ๊ณ ๋ ๋ถ๋ฆผ ๊ฐ์ (edge) ์ ์ ๋ค ๊ฐ์ ๊ด๊ณ ๋งํฌ(link)๋ผ๊ณ ๋ ๋ถ๋ฆผ DFS๋? ๊น์ด ์ฐ์ ํ์(depth-first search)ํ ๋ฐฉํฅ์ผ๋ก ๊ฐ ์ ์์ ๋๊น์ง ๊ฐ๋ค๊ฐ ๋ ์ด์ ๊ฐ ์ ์๊ฒ ๋๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ๋ฆผ๊ธธ๋ก ๋์์์ ์ด ๊ณณ์ผ๋ก๋ถํฐ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋ค์ ํ์ ์งํ ์คํ(Stack)์ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ๊ทํจ์ ์ฌ์ฉ # ์ฌ๊ทํจ์๋ฅผ ์ฌ์ฉํ DFS depth_first_search(v): v๋ฅผ ๋ฐฉ๋ฌธ๋์๋ค๊ณ ํ์; for all u ∈ (v์ ์ธ์ ํ ์ ์ ) do if (u๊ฐ ์์ง ๋ฐฉ๋ฌธ๋์ง ์์์ผ๋ฉด) then depth_first_..
๋์ ๊ณํ๋ฒ(dp)์ด๋? ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ ๋ก ๋๋์ด ํธ๋ ๋ฐฉ๋ฒ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํตํด ์ค๋ณต ๊ณ์ฐ์ ๋ฐฉ์งํ์ฌ ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ ์ค์ด๋ ๋ฐฉ๋ฒ ๋์ ๊ณํ๋ฒ์ ์กฐ๊ฑด ์ด๋ค ๋ฌธ์ (problem)๊ฐ ์ฌ๋ฌ ๊ฐ์ ํ์ ๋ฌธ์ (sub problem)๋ก ๋๋์ด์ง๋ ๊ฒฝ์ฐ ํ์ ๋ฌธ์ ๋ค์ ๋ต์ผ๋ก ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ ์๋ก ๋ค๋ฅธ ๋ฌธ์ ์์ ํ์ ๋ฌธ์ ๋ค์ด ๊ฒน์น๋ ๊ฒฝ์ฐ ๋์ ๊ณํ๋ฒ์ ์์ dp๋ฅผ ์ฌ์ฉํ๋ ๋ง์ ๋ฌธ์ ์ค์ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ์๋ค. ํผ๋ณด๋์น ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค. fib(n) { if (n = 0) then return 0; else if (n = 1) then return 1; else return (fib(n - 1) + fib(n - 2)); } ์ด ๋ฌธ์ ๋ ์ฌ๊ท์ ์๊ณ ๋ฆฌ์ฆ..