์ปค๋ฆฌํ๋ผ
- 1์ฃผ์ฐจ
- ๋ฐฑ๋ง ์ฌ์ฉ์๋ฅผ ์ํ ๋๊ท๋ชจ ์์คํ ์ํคํ ์ฒ ์ค๊ณ ๊ธฐ์ด
- Big O, ๋ฌธ์ ํด๊ฒฐ, ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ (Array, Linked List, Stack)
- ๋ฌธ์ ํด๊ฒฐ ํจํด - Two Pointer, Slide Window, Divide and Conquer
- 2์ฃผ์ฐจ
- ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ (Queue, Hash Table)
- ์์ ํ์ (Linear Search), ์ฌ๊ท (Recursion), ์ด์ง ํ์ (Binary Search)
- 3์ฃผ์ฐจ
- ์๊ณ ๋ฆฌ์ฆ (์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ)
- ์๋ฃ๊ตฌ์กฐ (Tree), Tree ์ํ ์๊ณ ๋ฆฌ์ฆ (Recursion, BFS, DFS), DB Index
- Tree - BT, BST, Balanced BST or Heap, Binary Heap, Priority Queue or Trie
- 4์ฃผ์ฐจ
- ์๋ฃ๊ตฌ์กฐ (Graph), Graph ์ํ ์๊ณ ๋ฆฌ์ฆ (BFS, DFS), ์ต๋จ ๊ฒฝ๋ก (Dijkstra)
- ์๊ณ ๋ฆฌ์ฆ (Dynamic Programming), Summary
์ํฐ๋์ ๋ฏธ๋ฆฌ ๊ณต์ง๋ ๋ด์ฉ์ผ๋ก๋ 4์ฃผ์ฐจ์ ๊ฐ์ฒด์งํฅ์ ๊ดํ ๊ฐ์์๋๋ฐ, ์น ์๋น์ค ํ๋ ๋ ๋ง๋๋ ๊ฒ๋ณด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์ง์คํ๋ ์ชฝ์ผ๋ก ์ปค๋ฆฌํ๋ผ์ ๋ณ๊ฒฝํ์
จ๋ค๊ณ ํ๋ค. ๊ฐ์ฒด์งํฅ ๊ฐ์๋ ๋ฃ๊ณ ์ถ์ ๋ง์์ด ์์์ด์ ์์ฌ์ ์ง๋ง ๋คํํ ๊ฐ์ฒด์งํฅ ๊ฐ์ ์๋ฃ๋ ์ฃผ์ ๋ค๊ณ ํ๋ค.
๊ธฐ์
๊ณผ์ ๋ ์ํฐ๋ ์ฌ์ ๊ณผ์ (ํน์ ๊ทธ๊ฒ๋ณด๋ค ๋ ๋ฎ์) ์์ค์ด๋ผ ์ฌ์ ๊ณผ์ ์ ์ด๋ ค์์ด ์์๋ค๋ฉด ๊ธฐ์
๊ณผ์ ์ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ผ ํ๋จํ์ฌ ์ด๋ฒ ์ธํด์ญ์๋ ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ์ ์ง์คํ๊ณ ์ ํ๋ค๊ณ ํ์
จ๋ค. ๋์ ๊ธฐ์
๊ณผ์ ๋ ๊ฒฝํํด ๋ณผ ์ ์๋๋ก ๋ฐ๋ก ์ฃผ์ ๋ค๊ณ ํ๋ค.
๋ฐ๋ผ์ ๊ธฐ์ ๊ณผ์ ๋ฅผ ์ํ ํ ๋น๋ฉ์ ์์ ์์ ์ด๋ค. ํ์ง๋ง ๋์ค์ ํ์ ๊พธ๋ ค ๋ฉด์ ์คํฐ๋๋ฅผ ์งํํ ์๋ ์๋ค๊ณ ํ๋ค.
๊ณผ์ - [LeetCode] Top Interview 150 & ๋ธ๋ก๊น
- ์ค๋ฌด์์ ์๋ฐ๋ก ๊ฐ๋ฐํ ๊ฑฐ๋ผ๋ฉด ์ฝํ
๋ง ์๊ฐํ์ง ๋ง๊ณ ํ์
๊น์ง ์๊ฐํด์ ์๋ฐ๋ก ํ๋๊ฒ ์ข์์๋ ์๋ค
- ์๋ฐ ์ธ์ด์ ๋ํ ๊น์ ์ดํด ํ ์ ์๊ธฐ ๋๋ฌธ
- ๋ธ๋ก๊ทธ์ ๋ด๊ฐ ํผ ๋ฌธ์ ์ ์ ๊ทผ๋ฒ๊ณผ ํ์ด ๊ณผ์ ์ ์์ฑํ๋๋ฐ, ๊ธฐ์
์์ ์ด๋ํ๋ค๊ณ ์๊ฐํ๊ณ ๊ผผ๊ผผํ๊ฒ ์์ฑ
- ๋ฉด์ ๊ด๋ค์ด ์๊ฐ๋ณด๋ค ๋ธ๋ก๊ทธ๋ฅผ ๋ง์ด ๋ณธ๋ค
- 1. ํด๊ฒฐ ๊ณผ์ ๊ณผ 2. ํ๊ณ ๋ด์ฉ ๋ ๋ค ๊ธฐ๋ก๋์ด ์์ด์ผ ํ๋ค.
- 1. ํด๊ฒฐ ๊ณผ์
- ์ ๊ทผ๋ฒ -> ์์ฌ(Pseudo) ์ฝ๋ ์์ฑ -> ๊ตฌํ ์ฝ๋ ์์ฑ
- 2. ํ๊ณ
- ๋ด๊ฐ ๊ตฌํํ ์ฝ๋์ ์ฑ๋ฅ ์ธก์ (์๊ฐ๋ณต์ก๋/๊ณต๊ฐ๋ณต์ก๋) -> ๋ด ์ฝ๋์ ๊ณต๊ฐ๋ณต์ก๋/์๊ฐ๋ณต์ก๋๊ฐ ์ ์ข์ง ์์์ง -> ์ด๊ฑธ ์ด๋ป๊ฒ ๊ฐ์ ํ ์ ์์์ง & ๋ฌด์์ ๋ ๊ฐ์ ํ ์ ์์์ง
- ๋ค๋ฅธ ์ฌ๋ ์ฝ๋ ์ฐธ๊ณ ํด์ ๊ทธ๊ฑธ ๊ธฐ์ค์ผ๋ก ์ด๋ค ๋ถ๋ถ์ ๊ฐ์ ํ ์ ์๋์ง ์ต์ข ํ๊ณ
- 1. ํด๊ฒฐ ๊ณผ์
- ์ฑ์ค + ํ ๋ฌธ์ ์ ๋ํด ๊น์ด ๊ณ ๋ฏผํ๋ค๋ ๊ฒ์ ์๋ ค์ฃผ์ด์ผ ํ๋ค
- ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ๋ณด๋ค ํ ๋ฌธ์ ๋ฅผ ๊น์ด ํ๋ณด๋๊ฒ ์ค์ํ๋ค
- ๊ณผ์ ํ๊ฐ ๋ฐฉ์์ ์ฑ์ค๋(์ฑ์ฅ ๊ฐ๋ฅ์ฑ)