๐ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (Greedy Algorithm) ์ด๋?
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ค ๋ฌธ์ ๋ฅผ 'ํ์์ '์ผ๋ก ํธ๋ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค.
- ์ฌ๊ธฐ์ 'ํ์์ '์ด๋ผ๋ ๋ง์ 'ํ์ฌ ์ํฉ์์ ์ง๊ธ ๋น์ฅ ์ข์ ๊ฒ๋ง ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ'์ ์๋ฏธํฉ๋๋ค.
- ์ฆ, ์ ํ์ ํด์ผ ํ ๋๋ง๋ค ๋น์ฅ ๋์์ ๋์ธ ์ต์ ์ ์ํฉ๋ง์ ์ ํํ์ฌ ํด๋ต์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ์ต์ ์ ์ํฉ์ ๋ํ ๊ธฐ์ค์ด ํ์ํ๋ฏ๋ก, ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ๋ค์ '๊ฐ์ฅ ํฐ ์์๋๋ก', '๊ฐ์ฅ ์์ ์์๋๋ก '๊ฐ์ ๊ธฐ์ค์ ์๊ฒ ๋ชจ๋ฅด๊ฒ ์ ์ํด ์ค๋๋ค. ๋์ฒด๋ก ์ด ๊ธฐ์ค์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ ๋ ๋ง์กฑ์ํฌ ์ ์์ต๋๋ค.
- ์๊ฐ๋ง๋ค ํ๋ ์ต์ ์ ์ ํ์ด ๋ ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํด์ฃผ์ง๋ ์์ต๋๋ค.
์๋์ ์์ ๊ทธ๋ฆผ์์, ์ ํ์ง๋ค์ ํฉํ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ฐพ๋๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋, ์ถ๋ฐ์ ์ธ 10์์ ๋ป์ด ๋๊ฐ๋ ์ ํ์ง์ธ 20๊ณผ 30์ค์ ๋ ํฐ ์์ธ 30์ด ์ต์ ์ ์ํฉ์ผ๋ก ์ ํ๋ฉ๋๋ค. ํ์ง๋ง ๊ฒฐ๊ณผ์ ์ผ๋ก 30์ ์ ํํ์ฌ ์ป๋ ํฉ์ด 20์ ์ ํํ์ฌ ์ป๋ ํฉ๋ณด๋ค ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ์ ํด๋ฒ์ ์ฐพ์์ ๋๋ ๊ทธ ํด๋ฒ์ด ์ ๋นํ์ง ๊ฒํ ํด์ผ ํฉ๋๋ค.
๐ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉ์ํฌ ์ ์๋ ๋ฌธ์ ์ ์กฐ๊ฑด
- ํ์์ ์ ํ ์์ฑ (Greedy Choice Property): ์ด์ ์ ์ ํ์ด ์ดํ์ ์ ํ์ ์ํฅ์ ์ฃผ์ง ์์์ผ ํฉ๋๋ค.
- ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ (Optional Substructure): ๋ถ๋ถ ๋ฌธ์ ์ ๋ํ ์ต์ ์ ๊ฒฐ๊ณผ๊ฐ ์ ์ฒด์๋ ๊ทธ๋๋ก ์ ์ฉ๋ ์ ์์ด์ผ ํฉ๋๋ค.
๋จ, ์ด ๋๊ฐ์ง ์กฐ๊ฑด์ ๋ฌธ์ ๊ฐ ์์ ํ ๋ง์กฑํ๋์ง ์ฆ๋ช ํ๋ ๊ฒ์ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ ์ฐ์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋์์ ํ์ธํ๊ณ ์ ๋น์ฑ์ ํ์ธํ๋ ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๐ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํด๋ต์ ์ฐพ๋ ๋ฐฉ๋ฒ
- ๋๋ถ๋ถ์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ ๋ฌธ์ ํ์ด๋ฅผ ์ํ ์ต์ํ์ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ๊ณ , ์ด๊ฒ์ด ์ ๋นํ์ง ๊ฒํ ํ ์ ์์ด์ผ ๋ต์ ๋์ถํ ์ ์์ต๋๋ค.
- ์ ํ -> ์ ๋น์ฑ ๊ฒํ -> ํด๋ต ๊ฒํ
- ์ด๋ค ๋ฌธ์ ๋ฅผ ๋ง๋ฌ์ ๋, ๋ฐ๋ก ๋ฌธ์ ์ ํ์ ํ์ ํ๊ธฐ ์ด๋ ต๋ค๋ฉด ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋์ง, ํ์์ ์ธ ํด๊ฒฐ๋ฒ์ด ์๋์ง ๊ณ ๋ฏผํด ๋ด ๋๋ค.
- ๋ง์ฝ ์ค๋ ์๊ฐ ๊ณ ๋ฏผํด ๋ณด์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์๋ค๋ฉด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ด๋ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋์ง ๊ณ ๋ฏผํด ๋ด ๋๋ค.
๐ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์
- ๋ฐฑ์ค ๋ธ๋ก ์ฆ ๋ฌธ์
- ๋ฐฑ์ค ์ค๋ฒ ๋ฌธ์
- ๋ฐฑ์ค ๊ณจ๋ ๋ฌธ์
'Dev > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DFS & BFS ์๊ณ ๋ฆฌ์ฆ (๊น์ด/๋๋น ์ฐ์ ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2022.12.27 |
---|