์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ฐ๋ธ์ฝ์ค
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- fetch API
- history api
- CSS
- ์ฝ๋ฉํ ์คํธ
- ํ๋ก ํธ์๋
- ์๊ณ ๋ฆฌ์ฆ
- useRef
- ํ๋ก๊ทธ๋๋จธ์ค
- REACT
- Flex
- ์๋ฐ์คํฌ๋ฆฝํธ
- useEffect
- float
- Gatsby
- position
- Props
- ๋ธ๋ก๊ทธ
- Today
- Total
๋ชฉ๋ก๐ Language & CS knowledge/Algorithm & Data structure (21)
Daehyunii's Dev-blog
23.1 ๋์ ํ๋ก๊ทธ๋๋ฐ ๋์ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ฐ๋จํ ํ์ ๋ฌธ์ ์ ๋ชจ์์ผ๋ก ๋ถ๋ฆฌํด์ ๊ฐ ํ์ ๋ฌธ์ ๋ค์ ํ์ด์ ๊ทธ ๋ต์ ์ ์ฅํ๊ณ ํ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ์์ด๋ค. ์ฆ, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ๊ทผ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ๋๋ถ๋ถ์ ๋ฌธ์ ๋ฅผ ๋์ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํด๊ฒฐ ํ ์๋ ์์ง๋ง, ๋์ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ค์ ๋ํด ๋์ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ์์ด์ ์์ฃผ ํฐ ์ฐจ์ด๋ฅผ ๊ฐ์ ธ์จ๋ค. ๋ค์ ๋งํด ๋๋ถ๋ถ์ ๋ฌธ์ ์ ์ ์ฉํ ์ ์๋ ๊ฒ์ ์๋์ง๋ง ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ฝ๋์ ์๋๋ฅผ ์ ๋ง ๋ง์ด ์ฌ๋ฆด ์ ์๋ค. 23.2 ๋์ ํ๋ก๊ทธ๋๋ฐ ํ์ฉ ๊ฐ๋ฅ ์ํฉ ๋์ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ ์ ์๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ํ์ธํด์ผ ํ๋ค. 1) ๋ฐ๋ณต..
21.1 ๊ทธ๋ํ ์ํ ๊ทธ๋ํ ์ํ๋ ๋ง ๊ทธ๋๋ก ๋ชจ๋ ๋ ธ๋, ์ฆ ๊ทธ๋ํ์ ์๋ ๋ชจ๋ ์ ์ ์ ๋ค ๋ฐฉ๋ฌธํ๋ค๋ ๋ง์ด๋ค. ํธ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ์ฐพ๊ณ ์ํ๋ ๋ ธ๋์ ์ ๊ทผํ๋ ๊ธธ์ ๋ฃจํธ์์ ์ถ๋ฐํด์ ๋์ฐฉํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ๋ฐ์ ์๋ค. ํ์ง๋ง ํธ๋ฆฌ์ ๋ค๋ฅด๊ฒ ๊ทธ๋ํ๋ฅผ ์ํํ๋ ๊ฒฝ์ฐ์๋ ๋ฃจํธ๊ฐ ๋ฐ๋ก ์๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ ๊ตฌํํ ๋๋ ์์์ ์ ์ ํด์ค์ผ ํ๋ค. ๋ํ ๊ทธ๋ํ์ ํ ๋ ธ๋์์ ๋ค๋ฅธ ๋ ธ๋๋ก ๊ฐ๋ ๋ฐฉ๋ฒ์ ์ ์ผํ ํ๋์ ๋ฐฉ๋ฒ๋ง ์กด์ฌํ๋ค๋ ๋ณด์ฅ์ด ์๋ค. 22.2 ๊น์ด ์ฐ์ ๊ทธ๋ํ ์ํ(DFS) ์์ ๋ฐฐ์ด ์ด์ง ํ์ ํธ๋ฆฌ์ DFS์ ๋์ผํ ๊ฐ๋ ์ด๋ค. ํ์ง๋ง ๊ทธ๋ํ์์๋ ๋ฃจํธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ๋์ ์ ์ ์ ์ง์ ํ๊ณ ์์ํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ํ์์์ ๊น์ด ์ฐ์ ๊ทธ๋ํ ์ํ๋ ํ ์ธ์ ์ ์ ์ฐพ๊ณ ์ด์ด์ ์ธ์ ์ ์ ๋ ์ฐพ๋๋ค๋ ์๋ฏธ์ด๋ค. ๋ค์ ..
20.1 ๊ทธ๋ํ ๊ทธ๋ํ๋ ์ ํํ๊ณ ๋ณํ ์ ์๋ ๊ผญ์ง์ (๋ ธ๋)์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค. ์ด ๊ผญ์ง์ ๋ค์ ์งํฉ์ ์์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ, ์์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ ๋ฐฉํฅ ๊ทธ๋ํ๋ผ๊ณ ํ๋ค. ์ฆ, ๊ทธ๋ํ๋ ๋ ธ๋์ ๋ ธ๋๋ค์ ์ฐ๊ฒฐ์ ๋ชจ์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํธ๋ฆฌ๋ ๊ทธ๋ํ์ ์ผ์ข ์ด๋ค. ๋ค๋ง ํธ๋ฆฌ๋ ๋ช ๊ฐ์ง ๊ท์น์ด ์ถ๊ฐ๋์ด ๋ถ๋ชจ์ ์์๋ ธ๋๋ก ๊ตฌ์ฑ๋๊ณ ์์์ ์ธ ๋ฃจํธ๊ฐ ์กด์ฌํ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ๊ทธ๋ํ์๋ ๋ถ๋ชจ ๋ ธ๋๋ผ๋ ๊ฒ์ด ์๊ณ , ์์์ ๋ ์๋ค. ๋ค ๋์ผํ ๋ ธ๋์ผ ๋ฟ์ด๋ค. ๋ํ ๊ทธ๋ํ๋ ํธ๋ฆฌ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ฐ์ ์์ค์ ํจํด์ด ์๋ค. ์์ ๋ก์ด ํ์์ ๋ ธ๋๊ฐ ์๊ณ ๊ทธ ์ฌ์ด์ ์ฐ๊ฒฐ๋ง ์์ ๋ฟ์ด๋ค. ๋ํ ํธ๋ฆฌ๋ ํ ๋ ธ๋์์ ๋ค๋ฅธ ๋ ธ๋๋ก ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ๋ฑ ํ ๊ฐ์ง๋ง ์กด์ฌํด์ผ ํ์ง๋ง ๊ทธ๋ํ๋ ์ ๊ฐ์ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ ..
19.1 ํด์ ํ ์ด๋ธ(ํด์ ๋งต) ํด์ ํ ์ด๋ธ์ด๋ ํค์ ๊ฐ์ ์์ผ๋ก ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ด์ฅ๋์ด ์๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. python์dictionaries, Java Script๋ Object์ Maps, Java๋ Go, Scala ๊ทธ๋ฆฌ๊ณ Maps, Juby๋ Hashes๋ก ์๋ ค์ ธ ์๋ค. ์ด ์ฒ๋ผ ์ธ์ด๋ง๋ค ํด์ ํ ์ด๋ธ์ด ๋ด์ฅ๋์ด ์๊ณ ํด์ ํ ์ด๋ธ์ ์ถ์์ ์ธ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋ฉํ ์๋ ์๋ค. ํด์ ํ ์ด๋ธ์ ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด๊ณผ๋ ๋ค๋ฅด๋ค. ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง์ง๋ง ํด์ ํ ์ด๋ธ์ ์์๋ฅผ ๊ฐ์ง์ง ์๋๋ค. ํด์ ํ ์ด๋ธ์ด ์ข์ ์ด์ ๋ ์๋ก์ด ๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋๋ฐ ์์ฃผ ๋น ๋ฅด๊ณ ๋ฐ์ดํฐ ๊ทธ ์์ฒด๊ฐ ํด์ ํ ์ด๋ธ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ ์ฅ๋๋ ๊ฒ์ด ํธํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. 19.2 ํด..
18.1 ์ด์ง ํ ์ด์ง ํ์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํธ๋ฆฌ์ ์ ์ฉ๋๋ ๊ท์น๋ค์ด ๋ค ๋์ผํ๊ฒ ์ ์ฉ๋์ง๋ง ์ถ๊ฐ์ ์ผ๋ก ์ ์ฉ๋๋ ๊ท์น๋ค์ด ์๋ค. ํ์๋ ์ฌ๋ฌ๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ง๋ง ์ง๊ธ ์์ ๋ณผ ๋ด์ฉ์ ํ์ ํ ์ข ๋ฅ์ธ ์ด์ง ํ์ด๋ค. ์ด์ง ํ์ ๋ค์ ์ต์ ํ๊ณผ, ์ต๋ ํ์ผ๋ก ๊ตฌ๋ถ๋๋ค. ์ต๋ ์ด์ง ํ์์๋ ๋ถ๋ชจ ๋ ธ๋๊ฐ ํญ์ ์์ ๋ ธ๋๋ณด๋ค ํฐ ๊ฐ์ ๊ฐ์ง๋ค. ์์ ๋ ธ๋๋ก ์ ์ฅ๋๋ ์ผ์ชฝ/์ค๋ฅธ์ชฝ์ ์์๋ ์๊ด์์ด ํ ๋ ๋ฒจ ์๋์ ์๋ ์ฆ, ์์ ๋ ธ๋๋ณด๋ค๋ ํญ์ ๋ถ๋ชจ ๋ ธ๋๊ฐ ํฌ๋ค.(์ค๋ฅธ์ชฝ/์ผ์ชฝ ์์๋ ์ค์ํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ผ์ชฝ๋ถํฐ ๊ฐ์ด ์ ์ฅ๋๋ค.) ์ต์ ์ด์ง ํ์ ์ต๋ ์ด์ง ํ๊ณผ ๋ฐ๋๋ก ๋ถ๋ชจ ๋ ธ๋๋ ํญ์ ์์ ๋ ธ๋๋ณด๋ค ์์ ๊ฐ์ ๊ฐ์ง๋ค. ์์ ๋ ธ๋๋ก ์ ์ฅ๋๋ ์ผ์ชฝ/์ค๋ฅธ์ชฝ์ ์์๋ ๋ง..
17.1 ํธ๋ฆฌ ์ํ ํธ๋ฆฌ ์ํ๋ ๋ง ๊ทธ๋๋ก ์ด๋ค ํธ๋ฆฌ์์๋ ์ง ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ์ด๋ค. ์๋ฅผ ๋ค์ด ์ด์ง ํ์ ํธ๋ฆฌ๋ ์ง, ๊ทธ๋ฅ ์ด์ง ํธ๋ฆฌ๋ ์ง ๊ทธ ์ธ์ ์ด๋ค ํธ๋ฆฌ๋ค์๋ ๋ค ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ํ ๋ฐฉ๋ฒ์ด๋ค. ์ฆ ํธ๋ฆฌ์ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ํธ๋ฆฌ ์ํ๋ฅผ ํ ์ ์๋ค. ํธ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์๋ ๋ง์ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๊ณ ๋ํ์ ์ผ๋ก ๋๋น ์ฐ์ ํ์(Breadth First Search)๊ณผ ๊น์ด ์ฐ์ ํ์(Deapth First Search)๊ฐ ์๋ค. ์ด๋ค ํ์ ๋ฐฉ๋ฒ์ด๋ ๋ชจ๋ ๋ ธ๋๋ค์ ์ํํ๋ ๊ฒ์ ๋์ผํ๋ค. 17.2 ๋๋น ์ฐ์ ํ์ ๋๋น ์ฐ์ ํ์(Breadth First Search)์ ํธ๋ฆฌ์ ๊ฐ์ ๋ ๋ฒจ์ ์๋ ๋ชจ๋ ๋ ธ๋๋ฅผ ๊ฑฐ์ณ๊ฐ๋ฉฐ ์ํ๋ฅผ ํ๋ ๋ฐฉ์์ด๋ค. /* ํธ๋ฆฌ) 10 / \ 6 15 / \ / \ 3 8 12 20 ..
16.1 ํธ๋ฆฌ๋? ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ์ด์ง ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด๊ณ , ์ด์ง ํธ๋ฆฌ๋ ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ์ ํ ์ข ๋ฅ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํธ๋ฆฌ๋ ๋ฌด์์ผ๊น? ํธ๋ฆฌ๋, ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ฒ๋ผ ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค. ํ์ง๋ง ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ค๋ฅด๊ฒ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค. ๋ฆฌ์คํธ๋ ์ ํ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ๋ง ๊ทธ๋๋ก ํ๋์ ์ค๋ก ์ด์ด์ ธ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค. ํ์ง๋ง ํธ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ๋์ ์ค๋ก ์ฐ๊ฒฐ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ์ฃผ์ํด์ผ ํ ์ ์ ๋ ธ๋๋ค์ด ์์ ๋ณด๋ค ๋ ๋ฎ์ ๊ณณ์ ์์ง ์์ ๋ค๋ฅธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ์๋ ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ๊ฐ ์๋๋ค. ์ฆ, ๋ ธ๋๊ฐ ํ์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ, ์์์ด ๋ถ๋ชจ๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ์๋ ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ๊ฐ ์๋๋ค. ํธ๋ฆฌ์์๋ ๋ชจ๋ ๋ ธ๋๋ค์ด ๋ฃจํธ๋ ธ๋์์ ๋ฉ์ด์ง๋ ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ๋๋ค. ๋ฃจํธ๋ ํ๋์ด์ด์ผ ..
15.1 ์คํ(Stack) ์คํ์ด๋ ํ์ ์ ์ถ ์์น์ ๋ฐ๋ฅด๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ผ์ปซ๋ ๋ง์ด๋ค. ์ฆ, ๋์ค์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ ๊ฑฐ๋๋ ๋ฐฉ์์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์คํ์ด๋ผ๊ณ ๋งํ๋ค. ์ค๊ฑฐ์ง๋ฅผ ํ๊ธฐ ์ํด ์ฑํฌ๋์ ์์ธ ๊ทธ๋ฆ ์ค ๊ฐ์ฅ์์ ์๋ ๊ทธ๋ฆ์ ํ๋์ฉ ์ค๊ฑฐ์งํด ๋๊ฐ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์คํ์ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ณ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํ ์๋ ์๋ค. ์ฆ, ์คํ์ด๋ผ๋ ๊ฐ๋ ์ ํ์ ์ ์ถ ์์น์ ์งํค๋ ์๋ฃ ๊ตฌ์กฐ๋ค์ ๋งํ๋ ์ถ์์ ์ธ ๊ฐ๋ ์ด๋ค. 15.2 ๋ฐฐ์ด๋ก ์คํ ๊ตฌํํ๊ธฐ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ํด๋น ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ๋ push() ๋ฉ์๋๋ฅผ ํ์ฉํ๊ณ , ์ ๊ฑฐํ ๋ pop() ๋ฉ์๋๋ง์ ์ฌ์ฉํ๊ฑฐ๋ shift(), unshift() ๋ฉ์๋๋ง์ ์ฌ์ฉํ๋ค๋ฉด ๋ฐฐ์ด์ ์คํ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋๋ค. ํ์ ์ ์ถ ์์น์ ์ง..