๊ทธ๋ฆฌ๋(Greedy)/ํ์์ ์๊ณ ๋ฆฌ์ฆ
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
ํ์ฌ ์ํฉ์์ ๋น์ฅ ๊ฐ์ฅ ์ข์๋ณด์ด๋ ์ํฉ๋ง์ ์ ํํ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ต์ ์ ํด๋ฅผ ๊ตฌํ๊ธฐ ์ํ ๊ทผ์ฌ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋ ๋๊ฐ ๋ง์ → ์ต์ ์ ํด์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ทผ์ฌ ํด๋ฅผ ๊ตฌํ ์ ์์
ex) ๋ฃจํธ์์ ์ถ๋ฐํด์ ๋จ๋ง ๋ ธ๋๊น์ง ๊ฐ๋ ๊ฒฝ์ฐ, ๊ฑฐ์ณ๊ฐ๋ ๋ ธ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒฝ์ฐ ๊ตฌํ๊ธฐ

- ์์ ํ์์ผ๋ก ํ๊ธฐ
- ์ต์ ์ ํด: 10 (1→4→5)
- ๋ชจ๋ ์ํฉ์ ๊ณ ๋ คํด์ผ ํจ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ๊ธฐ
- ๋งค ์ํฉ์์ ๋จ์ํ ๊ฐ์ฅ ํฐ ๋ ธ๋๋ฅผ ์ ํ: 8 (1→5→2)
- ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํ์ง ์์๋ ๋์ง๋ง, ์ต์ ์ ํด๋ ์๋๋ค!
[์ ๊ทผ ๋ฐฉ์]
1. ๋ฐฉ๋ฒ ๊ณ ์ํ๊ธฐ: ํ์ฌ ์ํฉ์์ ์ด๋ค ๊ฒ์ ์ ํํ ์ง ์๊ณ ๋ฆฌ์ฆ์ ๊ณ ์
2. ์ ๋น์ฑ ํ์ธํ๊ธฐ: ์์ ์ด ๊ณ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด ํญ์ ์ต์ ์ ํด๋ฅผ ๋ณด์ฅํ๋์ง ํ์ธ(์ฆ๋ช ๋จ๊ณ)
ex) ๊ฑฐ์ค๋ฆ๋ ๋ฌธ์
์นด์ดํฐ์ 500์, 100์, 50์, 10์์ง๋ฆฌ ๋์ ์ด ๋ฌด์ํ ๋ง์ด ์กด์ฌํ ๋, ์๋์๊ฒ 6,480์์ ๊ฑฐ์ฌ๋ฌ ์ฃผ์ด์ผํ ๋ ๋์ ๊ฐ์์ ์ต์๊ฐ์?
ํด๊ฒฐ๋ฐฉ๋ฒ: ๊ฐ์ฅ ํฐ ํํ ๋จ์๋ถํฐ ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ → 500์, 100์, 50์, 10์ ์์ผ๋ก ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ
1๋จ๊ณ) 500์ ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ: 6480/500 = 12...480 → 12๊ฐ
2๋จ๊ณ) 100์ ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ: 480/100 = 4...80 → 4๊ฐ
3๋จ๊ณ) 50์ ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ: 80/50 = 1...30 → 1๊ฐ
4๋จ๊ณ) 10์ ๊ฑฐ์ฌ๋ฌ์ฃผ๊ธฐ: 30/10 = 3 → 3๊ฐ
์ด 12+4+1+3 = 20๊ฐ
๏นกํํ ๋จ์๊ฐ ๋ฐฐ์ ๊ด๊ณ์ ์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ์ต์ ์ ํด๋ฅผ ์ฐพ์ ์ ์์
๋ง์ฝ, 120์์ ๊ฑฐ์ฌ๋ฌ ์ฃผ์ด์ผ ํ ๋ 80์, 60์, 10์ ๋์ ์ด ์๋ ๊ฒฝ์ฐ,
- ์ต์ ์ ํด: 60์*2 = 120์์ผ๋ก, 2๊ฐ์ ๋์ ํ์
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ํ์ด๋ก 80์๋ถํฐ ๊ฑฐ์ฌ๋ฌ ์ค๋ค๋ฉด ์ด 5๊ฐ์ ๋์ ํ์ํ๋ฏ๋ก ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต์ ์ ํด ์ฐพ์ ์ ์์