์ฝ๋ฉ ํ ์คํธ ์ค๋น/์๊ณ ๋ฆฌ์ฆ(11)
-
[์๊ณ ๋ฆฌ์ฆ] Dynamic Programming(๋์ ๊ณํ๋ฒ)& Divide and Conquer(๋ถํ ์ ๋ณต)
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋ฆฌ์ฆ์์ ๋์ ๊ณํ๋ฒ๊ณผ ๋ถํ ์ ๋ณต์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ ๊ฐ์ ๐๋์ ๊ณํ๋ฒ์ด๋? Dynamic Programming์ ์ค์ฌ์ DP๋ผ๊ณ ๋ง์ด ๋ถ๋ฅธ๋ค๊ณ ํด์! ๋์ ๊ณํ๋ฒ์ ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ๋ค, ํด๋น ๋ถ๋ถ ๋ฌธ์ ์ ํด(๋ต)์ ํ์ฉํ์ฌ ๋ณด๋ค ํฐ ํฌ๊ธฐ์ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก, ์ต์ ์ ์ผ๋ก ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒ์ด์์. ๋์ ๊ณํ๋ฒ์ ์ํฅ์ ์ ๊ทผ๋ฒ์ผ๋ก, ๊ฐ์ฅ ์ตํ์ ํด๋ต์ ๊ตฌํ ๋ค, ์ด๋ฅผ ์ ์ฅํ๊ณ , ํด๋น ๊ฒฐ๊ณผ๊ฐ์ ์ด์ฉํ์ฌ ์์ ๋ฌธ์ ๋ฅผ ํ์ด๊ฐ๋ ๊ฒ์ด์์. ๋ํ, ๋ฌธ์ ๋ฅผ ์๊ฒ ์ชผ๊ฐค ๋, ๋ถ๋ถ ๋ฌธ์ ๋ ์ค๋ณต์ด ๋๊ธฐ..
2021.09.09 -
[์๊ณ ๋ฆฌ์ฆ] 02. ์ ํ ์ ๋ ฌ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋ฆฌ์ฆ์์ Selection Sort์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ Selection Sort (์ ํ ์ ๋ ฌ)๋? ์ ํ ์ ๋ ฌ์ ์ฃผ์ด์ง Data ์ค ์ต์๊ฐ์ ์ฐพ๊ฒ ๋๋ ๊ฒ์ด์์. ๊ทธ๋ฐ ๋ค ํด๋น ์ต์๊ฐ์ ๋งจ ์์ ์์นํ ๊ฐ๊ณผ ์๋ฆฌ๋ฅผ ๋ฐ๊พธ๊ฒ ๋๋ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋งจ ์์ ์์น๋ฅผ ๋บ ๋๋จธ์ง Data๋ฅผ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ๋ณตํ๋ ๊ฒ์ด์์. ์ด๋ฏธ ์ต์๊ฐ์ผ๋ก ์๋ฆฌ๊ฐ ์ด๋ ๋ ๊ฒ๋ค์ ๋ค์ ์๋ฆฌ ์ด๋์ ํ ํ์๊ฐ ์์ผ๋ ์ ๋ ฌ์ ์๋ n -1 ๋งํผ ์ค์ด๋๋ ๊ฒ์ด์์. ์ฐธ๊ณ ์ฌ์ดํธ : https://visualgo.net/ko/sorting VisuAlgo - So..
2021.09.08 -
[์๊ณ ๋ฆฌ์ฆ] 01. ๋ฒ๋ธ์ ๋ ฌ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ณ ๋ฆฌ์ฆ์์ Bubble Sort์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ๋ ๊ฒ์ด์์. ์์ค ์ฝ๋์ ๋ํด์ ํ์ธ ํ๊ณ ์ถ์ผ์ ๋ถ๋ค๊ป์๋ ์ฃผ๋ํ๋์ Git hub์ ๊ด์ฌ์ ์ฃผ์ธ์! ๐ Sorting (์ ๋ ฌ)์ด๋? ์ ๋ ฌ์ ์ด๋ค Data๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ ํด์ง ์์๋๋ก ๋์ดํ๋ ๊ฒ์ด์์. ์ ๋ ฌ์ Program ์์ฑ ์ ๋น๋ฒํ๊ฒ ํ์ํ๋ต๋๋ค! ๋๋ฌธ์ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๊ณ , ์ด๋ฅผ ๊ณต๋ถํด์ผ ํ๋ ๊ฒ์ด์์. ๋ค์ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ฒ ๋๋ค๋ฉด ๋์ผํ ๋ฌธ์ ์ ๋ํด ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํด ๋ณผ ์ ์๊ฒ ๋๊ณ , ๊ฐ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ํตํด, ์ฑ๋ฅ ๋ถ์์ ๋ํด์๋ ์ดํดํ ์ ์๋ต๋๋ค! ๐ Bubble Sort (๋ฒ๋ธ ์ ๋ ฌ)๋? ๋ ์ธ์ ํ Data๋ฅผ ์๋ก ๋น๊ต..
2021.09.07 -
[์๊ณ ๋ฆฌ์ฆ] 00. ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต ๋ฐฉ๋ฒ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ๊ฐ๋ฐ์ ํน์ IT ์ ๊ณ๋ก ์ทจ์ ํ๋ ์ฐ๋ฆฌ์๊ฒ ์ฝ๋ฉํ ์คํธ๋ผ๋ ๋๊ด์ด ์๋ ๊ฒ์ด์์. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฅผ ์ด๋ป๊ฒ ์ค๋นํ๋ฉด ์ข์์ง ํ๋ฒ ์์๋ณด๊ธฐ๋ก ํด์! ๐ ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต ๋ฐฉ๋ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ์์ฑํ๊ธฐ ์ํด์๋ ์ ์์ฑ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ณ , ์ค์ค๋ก ๋ง๋ค์ด๋ณด๋ ์ฐ์ต์ด ์ค์ํ๋ค๊ณ ํฉ๋๋ค! ์ฆ, ๋ชจ์ฌ! ๊ทธ๋ฆผ์ ์ ๊ทธ๋ฆฌ ์ํด์ ์ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ์ ๋ชจ๋ฐฉํ๋ ๊ฒ๋ถํฐ ์์ํ๋ ๋ฏธ์ ์ ๊ณ์ฒ๋ผ ํ๋ ๊ฒ์ด์์! ๐ก์๊ณ ๋ฆฌ์ฆ ์ฐ์ต ๋ฐฉ๋ฒ 1. ์ฐ์ต์ฅ๊ณผ ํ์ ์ค๋นํ์. 2. ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ๋ถ์ํ ํ์, 3. ๊ฐ๋จํ๊ฒ ํ ์คํธ์ฉ์ผ๋ก ๋งค์ฐ ๊ฐ๋จํ ๊ฒฝ์ฐ๋ถํฐ ๋ณต์กํ ๊ฒฝ์ฐ ์์๋๋ก ์๊ฐํด๋ณด๋ฉด์, ์ฐ์ต์ฅ๊ณผ ํ์ ์ด์ฉํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํด๋ณธ๋ค. 4. ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ณด์ธ๋ค๋ฉด, ๊ตฌํํ ์๊ณ ๋ฆฌ์ฆ์ ์ธ๋ถ ํญ๋ชฉ์ผ๋ก ๋๋๊ณ , ๋ฌธ..
2021.09.06 -
[์๊ณ ๋ฆฌ์ฆ] ์๊ฐ ๋ณต์ก๋
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค. ์ค๋์ ์๊ณ ๋ฆฌ์ฆ์์ ์๊ฐ ๋ณต์ก๋์ ๋ํด ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์! ์ ๊ฐ ํผ ์ฝ๋๊ฐ ๊ถ๊ธํ์๋ค๋ฉด? ์ฃผ๋ํ๋์ ๊น ํ๋ธ์ ๊ด์ฌ์ ์ฃผ์ธ์! ๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค! ๐ Algorithm ๋ณต์ก๋ ํํ ๋ฐฉ๋ฒ ๐ Algorithm ๋ณต์ก๋ ๊ณ์ฐ Algorithm์ ๋ณต์ก๋์ ๋ํ ๊ณ์ฐ ๋ฐฉ๋ฒ์ ์ ์๋ ๊ฒ์ผ๊น์? ๊ทธ๊ฒ์ ๋ฐ๋ก ํ๋์ ๋ฌธ์ ๋ฅผ ํธ๋ Algorithm์ด ๋๋ฌด๋๋ ๋ค์ํ ์ ์๊ธฐ ๋๋ฌธ์ธ ๊ฒ์ด์์. ์๋ฅผ ๋ค์ด ์ ์์ ์ ๋๊ฐ (+1 = 1, -1 = 1)์ ๊ตฌํ๋ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐ ํด ๋ณผ๊ฒ์. ์ด๋ค ์ฌ๋์ ์ ์๊ฐ์ ์ ๊ณฑํ ๊ฐ์ ๋ฃจํธ๋ฅผ ์์ฐ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํ ์ ์์ ๊ฒ์ด์์. ๋ ์ด๋ค ์ฌ๋์ if๋ฌธ์ ํตํด ํด๋น ๊ฐ์ด ์ ์์ธ์ง ์์์ธ์ง๋ฅผ ํ์ธํ๊ณ , ์์์ผ ๋๋ง -1์ ๊ณฑํ๋๋ก..
2021.08.16