โ Greedy Algorithm
"๋งค ์ ํ์์ ์ง๊ธ ์ด ์๊ฐ ๋น์ฅ ์ต์ ์ ๋ต์ ์ ํํ์ฌ ์ ํฉํ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ์"๋ผ๋ ๋ชจํ ๋ฅผ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด์กฐ๊ฑด ํฐ ๊ฒฝ์ฐ๋๋ก, ๋ฌด์กฐ๊ฑด ์์ ๊ฒฝ์ฐ๋๋ก, ๋ฌด์กฐ๊ฑด ๊ธด ๊ฒฝ์ฐ๋๋ก, ๋ฌด์กฐ๊ฑด ์งง์ ๊ฒฝ์ฐ๋๋ก ๋ฑ ๊ทน๋จ์ ์ผ๋ก ๋ฌธ์ ์ ์ ๊ทผํด์ผ ํ๋ค๋ ์ ์์ ์ ๋ ฌ(Sort)์ด ํจ๊ป ์ด์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
Greedy Algorithm ์ฅ์
ํญ์ ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ๊ฒ์ ์๋์ง๋ง ์ด๋ ์ ๋ ์ต์ ์ํด์ ๊ทผ์ฌํ ๊ฐ์ ๋น ๋ฅด๊ฒ ๊ตฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
๋ํ ํน์ ํ ์ํฉ์ ์์ด์๋ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ต์ ์ ํด๋ฅผ ๋ณด์ฅํ ์ ์๋ค.
> ์์
620์์ด ์๋ค๋ฉด, 620์ ์ดํ์ ๊ฐ์ฅ ํฐ ์ก์๊ฐ 500์์ง๋ฆฌ์ด๋ฏ๋ก ๋จผ์ 500์์ง๋ฆฌ ๋์ ์ ํ๋ ์ฌ์ฉํ๊ณ , 120์์ด ๋จ๋๋ค. ์ด์ 500์์ง๋ฆฌ๋ ๋ชป ์ด๋ค. ๋์ ๊ทธ ๋ค์์ผ๋ก ํฐ 100์์ง๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ์ 20์์ 10์์ง๋ฆฌ 2๊ฐ๋ฅผ ์ฌ์ฉํ ์ ๋ฐ์ ์๊ณ , ์ด๋ ๊ฒ ํ๋ฉด ๋ต์ ๋์ 4๊ฐ๊ฐ ๋๋ค.
์ฑ๋ฆฝํ๋ ์ด์
500, 100, 50, 10์์ง๋ฆฌ ๋์ ๋ค์ ์ด๋ ๊ฒ ์ ๋ ฌํด ๋๊ณ ๋ณด๋ฉด, ๋ฐ๋์ ํฐ ์ชฝ์ ์์ ์ชฝ ์ก์์ ๋ฐฐ์์ด๋ค.
๋ฐ๋ผ์ ํฐ ๊ธ์ก์ ๋์ ์ ์์ ์ ์ฝ์์ธ ๋ ์์ ์ฌ๋ฌ ๊ฐ์ ๋์ ๋ค๋ก ๊ต์ฒดํ๋ฉด ๋์ ๊ฐ์๊ฐ ๋ฐ๋์ ๋์ด๋์ง๋ง, ๋ฐ๋๋ก ์์ ๋์ ๋ค์ด ๋ง์ด ์๋ค๋ฉด ์ด๊ฑธ ๋ชจ์ ํฐ ๋์ ์ก์๋ฅผ ๋ง๋ค ์ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด ๋ฐ๊พธ๋๊ฒ ๋์ ๊ฐ์๋ฅผ ์ค์ผ ์ ์๊ธฐ์ ์ด๋์ด๋ค.
์ ๋ฐฐ์๋ผ๋ ์ฑ์ง์ด ์ฑ๋ฆฝํ์ง ์์ผ๋ฉด ์ด ์ฑ์ง๋ ๊นจ์ง๊ณ , ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ๋ ๋ ์ด์ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ ์์ธํ ์ดํด์ ๋ด์ฉ, ๋ฌธ์ ๋ฅผ ํตํ ๋ด์ฉ์ Stranger's LAB ๋์ ํฌ์คํ ์ ์ฐธ๊ณ ํด๋ณด์.
https://st-lab.tistory.com/143
'๐ ์ฝ๋ฉํ ์คํธ > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA][์๋ฃ๊ตฌ์กฐ] ํธ๋ฆฌ์ ( TreeSet ) (0) | 2023.12.12 |
---|---|
[JAVA] HashSet (0) | 2023.04.05 |
[JAVA] hasNextInt ๋ฉ์๋ (0) | 2023.01.05 |
[JAVA] split() ์ธ์ ์ฌ๋ฌ๊ฐ (0) | 2022.12.26 |
[JAVA] Collection ( HashMap , HashSet ์ฐจ์ด ) (0) | 2022.11.11 |