๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š Algorithm/Algorithm Note

์•Œ๊ณ ๋ฆฌ์ฆ˜ - Greedy (ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์š•์‹ฌ์Ÿ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜), ์ตœ์ ํ•ด ์ฐพ๊ธฐ

Greedy Alogrithm 

Greedy๋Š” ์‚ฌ์ „์ ์ธ ์˜๋ฏธ๋กœ 'ํƒ์š•์Šค๋Ÿฌ์šด', '์š•์‹ฌ๋งŽ์€' ์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋˜๋Š” ์š•์‹ฌ์Ÿ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. 

๋ฏธ๋ž˜๋ฅผ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์„ ํƒ์˜ ์ˆœ๊ฐ„๋งˆ๋‹ค ๋‹น์žฅ ๋ˆˆ์•ž์— ๋ณด์ด๋Š” ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ๊ธฐ๋ฒ•

๊ฐ ๋‹จ๊ณ„์—์„œ ์ตœ์„ ์˜ ์„ ํƒ์„ ํ•œ ๊ฒƒ์ด ์ „์ฒด์ ์œผ๋กœ๋„ ์ตœ์„ ์ด๊ธธ ๋ฐ”๋ผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

 

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  1. ์„ ํƒ : ํ˜„์žฌ ์ƒํƒœ์—์„œ ์ตœ์ ์˜ ํ•ด๋‹ต ์„ ํƒ
  2. ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ : ์„ ํƒ๋œ ๋‹ต์ด ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ง€ ํ™•์ธ
  3. ํ•ด๋‹ต ๊ฒ€์‚ฌ : ์›๋ž˜์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ ํƒ ์ ˆ์ฐจ๋กœ ๋Œ์•„๊ฐ€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์กฐ๊ฑด

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 2๊ฐ€์ง€ ์กฐ๊ฑด์„ ์„ฑ๋ฆฝํ•ด์•ผ ํ•œ๋‹ค.

 

1. ํƒ์š•์  ์„ ํƒ ์†์„ฑ (Greedy Choice Property) : ์•ž์˜ ์„ ํƒ์ด ์ดํ›„์˜ ์„ ํƒ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

2. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (Optimal Substructure) : ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์ข… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ถ€๋ถ„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌ์„ฑ๋จ

 

์œ„์˜ 2๊ฐ€์ง€ ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๊ทธ๋Ÿผ ์œ„์˜ ์กฐ๊ฑด์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ• ๊นŒ?  ์•„๋‹ˆ๋‹ค. 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•ญ์ƒ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ณ„์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์šฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ˆ์‹œ

๋ฏผ์ง€๊ฐ€ ๋งˆํŠธ๋ฅผ ๊ฐ€์„œ ๋ผ๋ฉด๊ณผ ์•„์ด์Šคํฌ๋ฆผ์„ ์ƒ€๋‹ค. ์ด 6120์›์ด ๋‚˜์™”๋‹ค. 
๊ณ„์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด 7000์›์„ ๋ƒˆ๋‹ค. ๋ฏผ์ง€๋Š” ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ์‹ซ์–ดํ•ด์„œ ์ตœ์†Œํ•œ์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ๋‹ฌ๋ผ๊ณ  ํ•˜์˜€๋‹ค. 
์ด ๋•Œ, ๋งˆํŠธ ์‚ฌ์žฅ๋‹˜์€ ์–ด๋–ป๊ฒŒ ๊ฑฐ์Šฌ๋Ÿฌ ์ค˜์•ผํ• ๊นŒ? 

 

๋™์ „์€ 500, 100, 50, 10์›์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. 

  • ๊ฑฐ์Šค๋ฆ„๋ˆ 880์›์„ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด์„œ ๋จผ์ € ๊ฐ€์žฅ ํฐ 500์›์งœ๋ฆฌ ๋™์ „์„ ํ•œ ๊ฐœ๋ฅผ ์„ ํƒํ•œ๋‹ค. (๋‘ ๊ฐœ๋Š” 1000์›์ด ๋˜๋ฏ€๋กœ X)
  • ๊ทธ ๋‹ค์Œ์€ 100์›์งœ๋ฆฌ ๋™์ „์„ ์„ธ ๊ฐœ ์„ ํƒํ•œ๋‹ค.
  • ๊ทธ๋‹ค์Œ์—” 50์›์งœ๋ฆฌ ๋™์ „ ์„ธ ๊ฐœ์™€ 10์›์งœ๋ฆฌ ๋™์ „ ์„ธ ๊ฐœ๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ด๋‹ค.

 

 

 

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ ˆ์ฐจ์™€ ๋น„๊ต

  1. ์„ ํƒ : ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฒ”์œ„ ์•ˆ์—์„œ ๊ฐ€์žฅ ํฐ ๋™์ „์„ ์šฐ์„  ์„ ํƒํ•œ๋‹ค. 
  2. ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ : 1๋ฒˆ ๊ณผ์ •์„ ํ†ตํ•ด ๋™์ „๋“ค์˜ ํ•ฉ์ด ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ์ดˆ๊ณผํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค. ๋งŒ์•ฝ, ์ดˆ๊ณผํ•˜๋ฉด ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์„ ํƒํ•œ ๋™์ „์„ ๋นผ๊ณ ,                       1๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€ ๋” ์ž‘์€ ๋™์ „์„ ์„ ํƒํ•œ๋‹ค. 
  3. ํ•ด๋‹ต ๊ฒ€์‚ฌ : ์„ ํƒ๋œ ๋™์ „๋“ค์ด ๊ฑฐ์Šค๋ฆ„๋ˆ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค

 

 

 

728x90