| ๋ฌธ์ ์ ํ | ์์น |
|---|---|
| ํ์๋ฒ | greedy |
| ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ | dp |
| DFS | dfs |
| BFS | bfs |
| ์ด๋ถํ์ | binarysearch |
| ํฌํฌ์ธํฐ | twopointers |
| ์ฌ๋ผ์ด๋ฉ ์๋์ฐ | slidingwindow |
| ์ ๋ ฌ | sort |
| ๊ทธ๋ํ | graph |
| ์๋ฃ๊ตฌ์กฐ(์คํ & ํ) | stackqueue |
| ์๋ฃ๊ตฌ์กฐ(ํด์) | hash |
| ์์ ํ์ | bruteforce |
| ๋ฐฑํธ๋ํน | backtracking |
| ์๋ฃ๊ตฌ์กฐ(ํ) | heap |
| ์ํ์ ๋ฌธ์ | mathematics |
| ๋ฌธ์์ด ์ฒ๋ฆฌ | string |
| ๋ณตํฉ ์ ํ ๋ฐ ๊ธฐํ | courses |
๋๋ถ๋ถ์ ์ปดํจํฐ์์๋ 1์ด์ ์ฝ 10^8๋ฒ(1์ต)์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ ์ ์๋ค๊ณ ๊ฐ์
์
๋ ฅ ํฌ๊ธฐ n |
์ ์ ํ ์๊ฐ ๋ณต์ก๋ | ์ค๋ช |
|---|---|---|
n โค 10 |
O(n!), O(2^n) |
๋งค์ฐ ์์ ์ ๋ ฅ์ด๋ฏ๋ก ์์ ํ์(Brute Force)์ด๋ ์ฌ๊ท์ ๋ฐฑํธ๋ํน๋ ํ์ฉ |
n โค 20 |
O(2^n), O(n!) |
์์ ํ์, ์ฌ๊ท์ ๋ฐฑํธ๋ํน ๊ฐ๋ฅํ๋ฉฐ, ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์๋ํด๋ ๊ฐ๋ฅํ ํฌ๊ธฐ |
n โค 100 |
O(n^3) |
3์ค ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ๋ฉฐ, ๊ทธ๋ํ ๋ฌธ์ ์์ ํ๋ก์ด๋ ์์ ๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ฅ |
n โค 1,000 |
O(n^2) |
2์ค ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ๋ธ๋ฃจํธ ํฌ์ค๋ ๋์ ๊ณํ๋ฒ(DP)์ด ์ ํฉ |
n โค 100,000 |
O(n log n) |
ํฉ๋ณ ์ ๋ ฌ, ํ ์ ๋ ฌ, ํต ์ ๋ ฌ(ํ๊ท ), ์ด์ง ํ์๊ณผ ๊ฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ ํฉํ๋ฉฐ, ๋๋ถ๋ถ์ ํจ์จ์ ์ธ ํ์ ์๊ณ ๋ฆฌ์ฆ๋ ๊ฐ๋ฅ |
n โค 1,000,000 |
O(n) |
๋จ์ผ ๋ฐ๋ณต๋ฌธ, ์ ํ ํ์, ํด์ ํ ์ด๋ธ ๋ฑ์ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ ํฉ |
n > 10^7 |
O(log n) ๋๋ O(1) |
๋งค์ฐ ํฐ ์ ๋ ฅ ํฌ๊ธฐ์ด๋ฏ๋ก ๋ก๊ทธ ์๊ฐ ๋๋ ์์ ์๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ |
- ์ ํ ์กฐ๊ฑด ๋ถ์: ๋ฌธ์ ์ ์ฃผ์ด์ง ์ ํ ์กฐ๊ฑด์ ํตํด
n์ ํฌ๊ธฐ๋ฅผ ํ์ธํฉ๋๋ค. ์๋ฅผ ๋ค์ด,1 โค n โค 1,000์ด๋ผ๋ฉด **O(n^2)**์ ์๊ฐ ๋ณต์ก๋๊ฐ ์ ์ ํ ์ ์์ต๋๋ค. - ์ฐ์ฐ ๊ฐ๋ฅ ํ์ ์ถ์ : ์ผ๋ฐ์ ์ผ๋ก 1์ต ๋ฒ ์ฐ์ฐ์ 1์ด๋ก ๊ฐ์ ํ์ฌ ์
๋ ฅ ํฌ๊ธฐ
n์ ๋ฐ๋ฅธ ์๊ฐ ์ด๊ณผ ์ฌ๋ถ๋ฅผ ํ๋จํฉ๋๋ค. - ์ ํฉํ ์๊ณ ๋ฆฌ์ฆ ์ ํ: ๋ฌธ์ ์ ์ ๋ ฅ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํฉ๋๋ค. ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ์๊ณ ์์ผ๋ฉด ๋์์ด ๋ฉ๋๋ค.
| ์๊ฐ ๋ณต์ก๋ | ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ ์ ํ | ์์ ๋ฌธ์ |
|---|---|---|
| O(1) | ํด์ ํ ์ด๋ธ, ๋ฐฐ์ด ์ธ๋ฑ์ฑ | ์์ ์๊ฐ์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์กฐํ, ์คํ์์์ push/pop ์ฐ์ฐ |
O(n) |
์ฌ๋ผ์ด๋ฉ ์๋์ฐ, ํฌ ํฌ์ธํฐ, ํด์๋งต, ํ, BFS | ๋ฐฐ์ด์ ์ฐ์๋ ๊ตฌ๊ฐ์์ ์ต๋๊ฐ์ ์ฐพ๊ฑฐ๋ ์ค๋ณต ์ฒดํฌ ๋ฌธ์ , BFS ํ์ |
O(n log n) |
ํฉ๋ณ ์ ๋ ฌ, ํต ์ ๋ ฌ, ์ด์ง ํ์, ๊ท ํ ์ด์ง ํธ๋ฆฌ, ๊ทธ๋ฆฌ๋, ๋ถํ ์ ๋ณต, ์์ ์ ๋ ฌ | ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๊ฑฐ๋, ์ด์ง ํ์์ ์ฌ์ฉํด ๊ฐ์ ์ฐพ๋ ๋ฌธ์ |
O(n^2) |
๋ธ๋ฃจํธ ํฌ์ค, ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ, ํ๋ก์ด๋-์์ , ์คํ, DFS | ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ๊ฐ ํ์, 2์ค ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ์ต์ ํ ๋ฌธ์ |
O(2^n) |
๋ฐฑํธ๋ํน, ๋ถํ ์ ๋ณต, ๋์ ๊ณํ๋ฒ (๋ฉ๋ชจ์ด์ ์ด์ ), ์์ ํ์ | ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์๊ณ , ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ๋ ๋ฌธ์ |
O(n!) |
๋ฐฑํธ๋ํน, ์์ ํ์ | ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์๊ณ , ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ๋ ๋ฌธ์ |