DP

    [Algorithm] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ | Dynamic Programming (DP)

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