HWI's Devlog
article thumbnail

๐Ÿ’ก ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Greedy Algorithm) ์ด๋ž€?

  • ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ 'ํƒ์š•์ '์œผ๋กœ ํ‘ธ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.
    • ์—ฌ๊ธฐ์„œ 'ํƒ์š•์ '์ด๋ผ๋Š” ๋ง์€ 'ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์ง€๊ธˆ ๋‹น์žฅ ์ข‹์€ ๊ฒƒ๋งŒ ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•'์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ์„ ํƒ์„ ํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ๋‹น์žฅ ๋ˆˆ์•ž์— ๋†“์ธ ์ตœ์ ์˜ ์ƒํ™ฉ๋งŒ์„ ์„ ํƒํ•˜์—ฌ ํ•ด๋‹ต์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ์ตœ์ ์˜ ์ƒํ™ฉ์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ํ•„์š”ํ•˜๋ฏ€๋กœ, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์€ '๊ฐ€์žฅ ํฐ ์ˆœ์„œ๋Œ€๋กœ', '๊ฐ€์žฅ ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ '๊ฐ™์€ ๊ธฐ์ค€์„ ์•Œ๊ฒŒ ๋ชจ๋ฅด๊ฒŒ ์ œ์‹œํ•ด ์ค๋‹ˆ๋‹ค. ๋Œ€์ฒด๋กœ ์ด ๊ธฐ์ค€์€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ˆœ๊ฐ„๋งˆ๋‹ค ํ•˜๋Š” ์ตœ์„ ์˜ ์„ ํƒ์ด ๋Š˜ ์ตœ์„ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์žฅํ•ด์ฃผ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
    ์•„๋ž˜์˜ ์˜ˆ์‹œ ๊ทธ๋ฆผ์—์„œ, ์„ ํƒ์ง€๋“ค์„ ํ•ฉํ•œ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ถœ๋ฐœ์ ์ธ 10์—์„œ ๋ป—์–ด ๋‚˜๊ฐ€๋Š” ์„ ํƒ์ง€์ธ 20๊ณผ 30์ค‘์— ๋” ํฐ ์ˆ˜์ธ 30์ด ์ตœ์ ์˜ ์ƒํ™ฉ์œผ๋กœ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ 30์„ ์„ ํƒํ•˜์—ฌ ์–ป๋Š” ํ•ฉ์ด 20์„ ์„ ํƒํ•˜์—ฌ ์–ป๋Š” ํ•ฉ๋ณด๋‹ค ์ž‘์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฌธ์ œ์˜ ํ•ด๋ฒ•์„ ์ฐพ์•˜์„ ๋•Œ๋Š” ๊ทธ ํ•ด๋ฒ•์ด ์ •๋‹นํ•œ์ง€ ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜ ์กฐ๊ฑด

  • ํƒ์š•์  ์„ ํƒ ์†์„ฑ (Greedy Choice Property): ์ด์ „์˜ ์„ ํƒ์ด ์ดํ›„์˜ ์„ ํƒ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (Optional Substructure): ๋ถ€๋ถ„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ „์ฒด์—๋„ ๊ทธ๋Œ€๋กœ ์ ์šฉ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ, ์ด ๋‘๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ๋งŒ์กฑํ•˜๋Š”์ง€ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋™์ž‘์„ ํ™•์ธํ•˜๊ณ  ์ •๋‹น์„ฑ์„ ํ™•์ธํ•˜๋Š” ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๋‹ต์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

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

๐Ÿ’ก ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

profile

HWI's Devlog

@H_W_I

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!