| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |
- usaco
- ์๋ฅ
- BFS
- ์์ ํ์
- Netflix
- ํ๋ฉ์ด๋
- ๐
- ์นด์นด์ค
- ํ์ฟก
- ์๊ณ ๋ฆฌ์ฆ
- Algorithm
- ์ถ์ฒ
- ๋ฆฌ๋ทฐ
- coding
- benefits
- ๋์
- ๋์์๋จ
- ์๋จ
- ๊ฑด๊ฐ
- ํด์ค
- ์์ด
- ์ฝ๋ฉ ํ ์คํธ
- 2020
- ๋ฐฑ์ค
- silver
- health
- ๋ทํ๋ฆญ์ค
- ์ํ
- BOJ
- lululemon
- Today
- Total
๋ชฉ๋กalgorithm (8)
Lemonlover๐ง๐ปโ๏ธ
์ด๋ ค์ด ์ฝ๋ฉ ํ ์คํธ์์๋ ๊ทธ๋ํ ๋ฌธ์ ๊ฐ ํ๋์ฉ ์ถ์ ๋ฉ๋๋ค. ์ฝ๋ฉ ํ ์คํธ ๊ทธ๋ํ ๊ด๋ จ ๋ฌธ์ ๋ผ๊ณ ํ๋ค๋ฉด, ์๋ ์์ค์์ ๋์ต๋๋ค. 1. ์ต๋จ๊ฑฐ๋ฆฌ (ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ / ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ) 2. ํธ๋ฆฌ 3. ์ธ์ดํด ์ฐพ๊ธฐ 4. ์ต์ ์คํจ๋ ํธ๋ฆฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ๊ฐ์ฅ ๋จผ์ ํด์ผํ ๊ฒ์ '๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฃ์ง๋ก ์๋ ๊ฒ' ์ ๋๋ค. ์ด๊ฒ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์กด์ฌํฉ๋๋ค. 1. adjacent matrix 2. adjacent list ์ด ๋ ๊ฐ์ง์ ๋ํด์ ์ดํด๋ณผ ์์ ์ ๋๋ค. ๊ทธ ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ํ์ ๋ ๊ฐ์ง ์ข ๋ฅ์ ๋ํด์ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. 1. directed graph (๋ฐฉํฅ ๊ทธ๋ํ) : ๋ฌธ์ ์์ ์ฃผ์ด์ง ๊ทธ๋ฆผ์ ํ์ดํ๊ฐ ์๊ฑฐ๋, ๋ฌธ์ ์ค๋ช ์ 'a์์ b๋ก๋ง ๊ฐ ์ ์๋ค'๋ผ๋ ๋ง์ด ์์ ๊ฒฝ์ฐ ..
'์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ์์ ํ์์ ๊ธฐ๋ณธ์ ๋ํด์ (1)' ์์๋ ๊ฐ๋จํ๊ฒ ์ซ์ ์กฐํฉ์ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ ๋ณด์์ต๋๋ค. ์ฌ์ค ์ด๊ฒ๋ง ์๋ฉด ๊ทธ๋ณด๋ค ์ข ๋ ์ด๋ ค์ด ๋ฌธ์ ๋ค ํธ๋ ๋ชจ๋ ์ค๋น๋ ๋๋ฌ์ง๋ง, ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ธฐ๋ก ํฉ์๋ค. https://www.acmicpc.net/problem/13302 13302๋ฒ: ๋ฆฌ์กฐํธ ์์์ด๋ ์ฌ๋ฆ๋ฐฉํ์ ๋ง์ดํ์ฌ ๋ง์ ๋์ด ์์ค์ด ์๋ KOI ๋ฆฌ์กฐํธ์ ๋๋ฌ๊ฐ๋ ค๊ณ ํ๋ค. ๋ฆฌ์กฐํธ์ ํ๋ฃจ ์ด์ฉ๊ถ์ ๊ฐ๊ฒฉ์ ๋ง์์ด๋ค. ํ์ง๋ง ๋ฆฌ์กฐํธ์ ๊ท๋ชจ๋ ์์์ ์ด์ํ์ฌ ๋ชจ๋ ์์ค์ ์ถฉ๋ถํ ์ฆ๊ธฐ๊ธฐ ์ํด์๋ ํ๋ฃจ๋ก๋ ํฐ๋ฌด๋์์ด ๋ถ์กฑํ๋ค. ๊ทธ๋์ ๋ง์ ์ด์ฉ๊ฐ๋ค์ 3์ผ ์ด์ ์ฐ์์ผ๋ก ์ด์ฉํ๊ธฐ๋ ํ๋ค. KOI ๋ฆฌ์กฐํธ์์๋ 3์ผ ์ฐ์ ์ด์ฉ๊ถ์ ํ ์ธ๋ ๊ฐ๊ฒฉ ์ด๋ง์ค์ฒ์์, ์ฐ์ 5์ผ๊ถ์ ์ผ๋ง์น ์ฒ์์ ํ๋งค..
https://stackoverflow.com/questions/9444714/how-is-quicksort-is-related-to-cache/9444866#9444866 How is quicksort is related to cache? I have seen many places say quicksort is good because it fits to cache-related stuff, such as said in wiki Additionally, quicksort's sequential and localized memory references work well with a ... stackoverflow.com ํต ์ ๋ ฌ์ in-place ์ ๋ ฌ ์ ๋๋ค. in-place๋ ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ ์๊ตฌํ์ง ์..
1. what stable sort ? [์ถ์ฒ : https://www.geeksforgeeks.org/stability-in-sorting-algorithms/ ] stable sort๋ ๋ฌด์์ผ๊น์? ์๋ ๊ณต๋ค์ ์ ๋ ฌ์ด ๋ ์ํ์ ๋๋ค. ์ ๋ ฌ๋๊ธฐ ์ ๊ณผ ๋น๊ตํ์ ๋ ํน์ง์ด ์์ต๋๋ค.๊ทธ๊ฒ์ ๊ณต์ ์ซ์๋ ์ ๋ ฌ๋์์ง๋ง, ๊ฐ์ ์ซ์๋ฅผ ๊ฐ์ง ๊ณต ์ฌ์ด์ ์๊น์ ๋ค์ด์จ ์์๋ฅผ ์ ์งํ๋ค๋ ๊ฒ์ ๋๋ค.์ด๊ฒ์ด ๋ฐ๋ก stable sort ์ ๊ฐ๋ ! ์ ๋๋ค. (unstable sort ๋? ๊ทธ ๋ฐ๋๊ฒ ์ฃ . ๊ทธ๋ฅ ๋ง ์์ ๋๋ค.) 2. why stable sort ? ๊ทธ๋ผ ์ด stable sort๊ฐ ์ ์ค์ํ ๊น์? ์ ) ๋ฐ์ดํฐ๊ฐ ๋ค์ด์จ ์์๋ ์ ์งํ๋ฉด์, ํน์ key ๊ฐ์ ๊ธฐ์ค์ผ๋ก sortingํ๊ณ ์ถ์ ๋ ๊ทธ๋ฅ ์๋ฌด์๊ฐ ์์ด so..
๊ธฐ๋ณธ์ ์ธ sorting ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด ๋ดค์ต๋๋ค. ์ค๋ช ์ ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ์๋ฉด ๊ต์ฅํ ์ ๋์ด์์ต๋๋ค.๋ฐฑ์ค ์ ์ ๋ ฌํ๊ธฐ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ผ๋ก ํ์ด๋ณด๋ฉด์ ์ฐ์ต์ ํด๋ดค์ต๋๋ค. ์๋ ์ฝ๋๋ ๋ชจ๋ AC ๋ฐ์ ์ฝ๋๋ค์ ๋๋ค.์ฝ๋๋ C++๋ก ๋์ด ์๊ตฌ์. ๋์ค์ ํน์ ๋ฉด์ ๋ ์ฌ์ฉํ ๊ฒ์ ์๊ฐํ์ฌ ์ต๋ํ ๊น๋ํ๊ฒ ์์ฑํด๋ดค์ต๋๋ค. bucket sort / counting sort / radix sort ์ ๋ํด์๋ sorting algorithm(advanced)์ ์์ฑํ๊ฒ ์ต๋๋ค. ์๋ ์๋๋ฉ์ด์ ์ ๊ฐ algorithm์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ฝ๊ฒ ์ ์ ์์ด์ ๊ณต์ ํด๋ด ๋๋ค. [์ถ์ฒ : https://medium.com/@kamyarg/comparison-sorting-algorithms-and-mystery-of-nl..
์ข ๋ง๋ถ์์ ๋์ค์ง๋ง์. '์ค๋ณต์์ด ๋ช ๊ฐ ์ค์ ๋ช ๊ฐ๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ' ๋๋ฌด ์ค์ํ๊ฒ ๋ค๋ฃจ๊ณ ์์ฃ .์์ ํ์์ ๊ธฐ๋ณธ ์ค์ ๊ธฐ๋ณธ ์ด๋ค ์ํฉ์์ ๋ฌผ์ด๋ด๋ ๋ฐ๋ก ๋์์ผ ํ ๋๋ต์ ๋๋ค. ์ฐ์ ๊ฐ๋จํ for๋ฌธ์ผ๋ก ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. 123456for(int i = 0; i
์ค๋์ DP์ ํน๋ณํ ๋ฌธ์ ํํ๋ผ๊ณ ํ ์ ์๋ LIS๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.๋ณดํต์ DP๋ก ํ๊ฒ ๋๋ฉด O(N^2)์ผ๋ก ํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง N์ ๊ฐ์ด ์ปค์ง๋ฉด O(NlogN)์ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํฉ๋๋ค. ์ฐ์ LIS ๋ฌธ์ ์ ์ ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. The Longest Increasing Subsequence (LIS) problem is to find the length of the longest subsequence of a given sequence such that all elements of the subsequence are sorted in increasing order. For example, the length of LIS for {10, 22, 9, 33, 21, 50, 41, 60, 80} is..
์ปดํจํฐ๋ก ๋ฌธ์ ๋ฅผ ํ ๋, ๋ณดํต ๊ทธ ๋ฌธ์ ๋ ํ์์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.๋ฌธ์ ๊ฐ ์ ์ํ๊ณ ์๋ '๊ณต๊ฐ'์ ํ์ํฉ๋๋ค. ์ํ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ ์ํ ์ ์๋ค๋ฉด, ๋ชจ๋ ๊ณต๊ฐ์ ์ปค๋ฒํ๋ค๋ ๋ณด์ฅ์ด ์๊ธฐ ๋๋ฌธ์ํด๊ฐ ๋ง๋ ๊ฒ์ธ์ง ํ๋ณํ ์ ์์ต๋๋ค.๊ทธ ๋ค์ ๊ณต๊ฐ์ ์ด์ ์ ์ํ๋ฅผ ํตํด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ํธ๋ฆฌ์ฒ๋ผ ๊ณต๊ฐ์ด ๋ป์ด ๋๊ฐ๋๋ค. ๊ทธ ๊ณต๊ฐ์ ๋ฐฉ๋ฌธํ๋ ๋ฐฉ๋ฒ ์ค์ 'BFS'์ 'DFS'๊ฐ ์์ต๋๋ค. ์ง๊ธ์ BFS(Breadth First Search)๋ฅผ ์ค๋ช ํ๋ ค๊ณ ํฉ๋๋ค. ์์ด ๋ป ๊ทธ๋๋ก ๋์ด ์ฐ์ ํ์์ด๋ค. ํธ๋ฆฌ์ ๊ฐ์ง๋ฅผ ๋ฐ๋ผ์ ๋ฌด์์ ๋ค์ด๊ฐ์ง ์๊ณ , depth๋ฅผ ํ๋์ฉ ๋๋ ค๊ฐ๋๋ค. ์๋๋ BFS์ DFS๋ฅผ ๋น๊ตํ๋ ๊ทธ๋ฆผ์ ๋๋ค. ๋ฌธ์ ์ ๋ฐ๋ผ ์ด๋ค ๋ฐฉ๋ฌธ ๋ฐฉ๋ฒ์ ์ ํํด์ผ ์ ๋ต์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ ๊ฒ์ธ์งํ๋จํ๊ณ ์ ์ฉํด์ผ ํฉ๋๋ค...