Skip to content

๐Ÿคข Dynamic Programing (DP)

sery270 edited this page Aug 24, 2020 · 1 revision

๐ŸŽพDP๋กœ ํ’€์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ์˜ ์†์„ฑ

  • Overlapping Subproblem

    • ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค.
    • ํฐ ๋ฌธ์ œ์™€ ์ž‘์€ ๋ฌธ์ œ๋ฅผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

    โ†’ ํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ž‘์€ ๋ฌธ์ œ๋“ค๋กœ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค.

  • Optimal Substructure

    • ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ž‘์€ ๋ฌธ์ œ์˜ ์ •๋‹ต์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ž‘์€ ๋ฌธ์ œ๋“ค์˜ ์ •๋‹ต์„ ํ•ฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์–ด๋– ํ•œ ์ž‘์€ ๋ฌธ์ œ๋ฅผ ํ’€๋˜, ๊ทธ ์ „์— ํ‘ผ ํŠน์ • ์ž‘์€ ๋ฌธ์ œ์˜ ์ •๋‹ต์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

    โ†’ ๊ฐ ์ž‘์€ ๋ฌธ์ œ์˜ ๋‹ต์ด ํ•ญ์ƒ ์ผ์ •ํ•˜๋‹ค. โ†’ Memoization

์ฆ‰, ์ž‘์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ต์„ ๊ตฌํ•  ๋•Œ, ์–ด๋”˜๊ฐ€์— ๋ฉ”๋ชจ๋ฅผ ํ•ด๋‘๊ณ , ์ค‘๋ณต ํ˜ธ์ถœ์ด๋ฉด ๋ฉ”๋ชจํ•ด๋†“์€ ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค. ์ค‘๋ณต ํ˜ธ์ถœ์ธ์ง€ ๋จผ์ € ๊ฒ€ํ†  && ๋ฆฌํ„ดํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ๋‹ต์„ ๊ตฌํ•˜๊ณ  ๋ฆฌํ„ดํ•˜๋Š” ์ˆœ์„œ์ด๋‹ค.

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2020-08-13 แ„‹แ…ฉแ„’แ…ฎ 8 55 43

Clone this wiki locally