ํ์ด์ฌ(7)
-
[์๊ณ ๋ฆฌ์ฆ] ์์ฐจ ํ์
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ง ํ์์ ๋ํด์ ๊ณต๋ถํ๋ ์๊ฐ์ธ ๊ฒ์ด์์. ์ฝํ ๋ฅผ ์ ๋ฅํ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด ์ด์ฌํ ๊ณต๋ถ ํด ๋ณด๊ฒ ์ต๋๋ค! ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ Sequential Search (์์ฐจ ํ์) ๋? ํ์์ด๋ ๊ฒ์ ์ฌ๋ฌ Data ์ค์์ ์ํ๋ Data๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ ์๋ฏธํ๋ ๊ฒ์ด์์. Data๊ฐ ๋ด๊ฒจ ์๋ List๋ฅผ ์์์ ๋ถํฐ ํ๋์ฉ ๋น๊ตํด์ ์ํ๋ ๊ฐ์ ์ฐพ๋ ๊ฒ์ ์์ฐจ ํ์์ด๋ผ ํ๋ต๋๋ค! ๐กํ๋ก๊ทธ๋๋ฐ ์ฐ์ต ์์ ๋ฆฌ์คํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ด rand_data_list๋ก ์์ ๋, ์ํ๋ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฆฌํดํ๋ ์์ฐจํ์ ์๊ณ ๋ฆฌ์ฆ ์์ฑํด๋ณด๊ธฐ - ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ด๋ฏ๋ก, ์ง์ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. - ์ํ๋ ๋ฐ..
2021.09.19 -
[์๊ณ ๋ฆฌ์ฆ] Dynamic Programming(๋์ ๊ณํ๋ฒ)& Divide and Conquer(๋ถํ ์ ๋ณต)
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋ฆฌ์ฆ์์ ๋์ ๊ณํ๋ฒ๊ณผ ๋ถํ ์ ๋ณต์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ ๊ฐ์ ๐๋์ ๊ณํ๋ฒ์ด๋? Dynamic Programming์ ์ค์ฌ์ DP๋ผ๊ณ ๋ง์ด ๋ถ๋ฅธ๋ค๊ณ ํด์! ๋์ ๊ณํ๋ฒ์ ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ๋ค, ํด๋น ๋ถ๋ถ ๋ฌธ์ ์ ํด(๋ต)์ ํ์ฉํ์ฌ ๋ณด๋ค ํฐ ํฌ๊ธฐ์ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก, ์ต์ ์ ์ผ๋ก ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒ์ด์์. ๋์ ๊ณํ๋ฒ์ ์ํฅ์ ์ ๊ทผ๋ฒ์ผ๋ก, ๊ฐ์ฅ ์ตํ์ ํด๋ต์ ๊ตฌํ ๋ค, ์ด๋ฅผ ์ ์ฅํ๊ณ , ํด๋น ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํ์ฌ ์์ ๋ฌธ์ ๋ฅผ ํ์ด๊ฐ๋ ๊ฒ์ด์์. ๋ํ, ๋ฌธ์ ๋ฅผ ์๊ฒ ์ชผ๊ฐค ๋, ๋ถ๋ถ ๋ฌธ์ ๋ ์ค๋ณต์ด ๋๊ธฐ..
2021.09.09 -
[์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ] ๊ณต๊ฐ ๋ณต์ก๋์ ์ฌ๊ทํจ์๋?
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๊ฐ ๋ณต์ก๋์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ ๊ณต๊ฐ ๋ณต์ก๋ (Space Comploexity) ์๊ณ ๋ฆฌ์ฆ์์ ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํ ๋ ๋ ๊ฐ์ง๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด์์. ์๊ฐ ๋ณต์ก๋: ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ์คํ๋๋๊ฐ? ๊ณต๊ฐ ๋ณต์ก๋: ์ผ๋ง๋ ์ ์ ์ ์ฅ ๊ณต๊ฐ ์ฉ๋์ ์ฌ์ฉํ๋๊ฐ? ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ข์ ์๊ณ ๋ฆฌ์ฆ์ด๋? ์คํ ์๊ฐ๋ ์งง๊ณ , ์ ์ฅ ๊ณต๊ฐ๋ ์ ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด๊ฒ ์ง์? ํ์ง๋ง, ๋ ๋ค ๋ง์กฑ ์ํค๊ธด ์ด๋ ค์ด ๊ฒ์ด์์. ์๋ํ๋ฉด? ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์์ ํ์ง๋ ์์ง๋ง, ๋ฐ ๋น๋ก์ ์ฑํฅ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋๋๋ค. ํ์ง๋ง ์ต๊ทผ์๋ ๋์ฉ๋ System์ด ๋ณดํธํ๋๋ฉด์ ๊ณต๊ฐ ๋ณต์ก๋ ..
2021.09.08 -
[์๊ณ ๋ฆฌ์ฆ] 01. ๋ฒ๋ธ์ ๋ ฌ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋ฆฌ์ฆ์์ Bubble Sort์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ Sorting (์ ๋ ฌ)์ด๋? ์ ๋ ฌ์ ์ด๋ค Data๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ ํด์ง ์์๋๋ก ๋์ดํ๋ ๊ฒ์ด์์. ์ ๋ ฌ์ Program ์์ฑ ์ ๋น๋ฒํ๊ฒ ํ์ํ๋ต๋๋ค! ๋๋ฌธ์ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๊ณ , ์ด๋ฅผ ๊ณต๋ถํด์ผ ํ๋ ๊ฒ์ด์์. ๋ค์ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ฒ ๋๋ค๋ฉด ๋์ผํ ๋ฌธ์ ์ ๋ํด ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํด ๋ณผ ์ ์๊ฒ ๋๊ณ , ๊ฐ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ํตํด, ์ฑ๋ฅ ๋ถ์์ ๋ํด์๋ ์ดํดํ ์ ์๋ต๋๋ค! ๐ Bubble Sort (๋ฒ๋ธ ์ ๋ ฌ)๋? ๋ ์ธ์ ํ Data๋ฅผ ์๋ก ๋น๊ต..
2021.09.07 -
[์๋ฃ๊ตฌ์กฐ] 03. Stack
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์์ ํ์ ๋ํด์ ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์! ์ ๊ฐ ํผ ์ฝ๋๊ฐ ๊ถ๊ธํ์๋ค๋ฉด? ์ฃผ๋ํ๋์ ๊น ํ๋ธ์ ๊ด์ฌ์ ์ฃผ์ธ์! ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ ์คํ ( Stack ) Data๋ฅผ ์ ํ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ ๊ตฌ์กฐ ํ ์ชฝ ๋์์๋ง ์๋ฃ๋ฅผ ๋ฃ๊ฑฐ๋ ๋บ ์ ์๋ ๊ตฌ์กฐ (์ผ๋ฉด์ด ๋งํ์๊ณ , ์์๋ง ๋ซ๋ ค์๋ BOX) ๊ฐ์ฅ ๋์ค์ ์์ Data๋ฅผ ๊ฐ์ฅ ๋จผ์ ๋นผ๋ผ ์ ์๋ ๊ตฌ์กฐ Queue : FIFO (First-In, First Out) Stack : LIFO (Last-In, First Out) ๐Stack์ ๊ตฌ์กฐ Stack์ LIFO(Last-In, First Out) ๋๋ FILO(First-In, Last Out) Data ๊ด๋ฆฌ ๋ฐฉ์ ๋ํ์ Stack ํ์ฉ ์ปดํจํฐ ๋ด..
2021.08.10 -
[์๋ฃ๊ตฌ์กฐ] 01. ๋ฐฐ์ด
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์์ ๋ฐฐ์ด์ ๋ํด์ ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์! ์ ๊ฐ ํผ ์ฝ๋๊ฐ ๊ถ๊ธํ์๋ค๋ฉด? ์ฃผ๋ํ๋์ ๊น ํ๋ธ์ ๊ด์ฌ์ ์ฃผ์ธ์! ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ ๋ฐฐ์ด ( Array ) Data๋ฅผ ๋์ดํ๊ณ , ๊ฐ Data๋ฅผ Index Number์ ๋์ํ๋๋ก ๊ตฌ์ฑํ Data ๊ตฌ์กฐ Python์์๋ List Type์ ๋ฐฐ์ด ๊ธฐ๋ฅ ์ ๊ณต ๐ ๋ฐฐ์ด์ ํ์์ฑ ๊ฐ์ ์ข ๋ฅ์ Data Type์ ๋ง๋ Data๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ String์ด๋ฉด String, int๋ฉด int ํ ๊ฐ์ง Data Type๋ง ์ฌ์ฉ ๊ฐ๋ฅ ๊ฐ์ ์ข ๋ฅ์ Data๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅ ์ฅ์ : ๋น ๋ฅธ ์ ๊ทผ ๊ฐ๋ฅ : ์ฒซ Data์ ์์น์์ ์๋์ ์ธ ์์น๋ก Data ์ ๊ทผ ( index Number๋ก ์ ๊ทผ ) ๋จ์ :..
2021.08.08