๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)

Hey Tech

[DP] ๋ฐฑ์ค€#14501: ํ‡ด์‚ฌ/Python

๐Ÿ“ ๋ฌธ์ œ https://www.acmicpc.net/problem/14501 14501๋ฒˆ: ํ‡ด์‚ฌ ์ฒซ์งธ ์ค„์— ๋ฐฑ์ค€์ด๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ต์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP)์„ ํ™œ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋„ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จํ•œ ํ•ด์„ค์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”. DP๋ฅผ ํ™œ์šฉํ•œ ํ’€์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ทผ๋ฌด ๊ฐ€๋Šฅ์ผ์ด ์•„๋‹Œ ํ‡ด์‚ฌ์ผ๋กœ๋ถ€ํ„ฐ ๊ทผ๋ฌด๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ฒซ ๋‚ ๊นŒ์ง€ ์—ญ์ˆœ์œผ๋กœ ๊ทผ๋ฌด ์„ ํƒ์ผ์— ๋”ฐ๋ฅธ ์ด์ต์„ ๊ณ„์‚ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ‡ด์‚ฌ์ผ๋กœ๋ถ€ํ„ฐ \(i\)๋ฒˆ์งธ๊นŒ์ง€ ๊ทผ๋ฌดํ•œ ๊ฒฝ์šฐ ์ด์ต์€ \((i+1)\)๊นŒ์ง€ ๊ทผ๋ฌดํ•œ ๊ฒฝ์šฐ์˜ ์ด์ต๊ณผ \((i+t)\)๊นŒ์ง€ ๊ทผ๋ฌดํ•œ ๊ฒฝ์šฐ์˜ ์ด์ต ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๊ณ ๋ฅด๋„๋ก ๋กœ์ง์„ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ ํ•ด๋‹น ์ผ์— ๊ทผ๋ฌดํ•˜์ง€ ์•Š์œผ๋ฉด \(i\)๋ฒˆ์งธ ..

๋‹ค์ด๋‚˜๋ฏนํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP) #ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค #์ •์ˆ˜ ์‚ผ๊ฐํ˜• | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ์›๋ณธ: https://programmers.co.kr/learn/courses/30/lessons/43105?language=python3 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ •์ˆ˜ ์‚ผ๊ฐํ˜• [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr ๐Ÿ”ฅ ์ ‘๊ทผ๋ฒ• ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ์ „ํ˜•์ ์ธ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Dynamic Programming, DP) ์œ ํ˜•์˜ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์œ ์‚ฌํ•œ ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•œ DP ๋ฌธ์ œ๋กœ์„œ "์ตœ์ € ๋น„์šฉ์˜ ๋…ธ๋“œ๋งŒ ๊ฑฐ์ณ ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•˜๋Š” ๋ฌธ์ œ"๋ฅผ ์ ‘ํ•œ ๊ฒฝํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ ์ „๋žต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ผ๊ฐํ˜• ๋งจ ์•„๋ž˜๋ถ€ํ„ฐ 2๊ฐœ์˜ ์ธ์ ‘ํ•œ ์ž์‹ ๋…ธ๋“œ ์ค‘ ํฐ ๊ฐ’์„ ๋ถ€๋ชจ ๋…ธ๋“œ์— ๋”ํ•ด ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ(DP)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! (+Python ๊ตฌํ˜„)

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋‹ค์ด๋‚˜๋ฏน(๋™์ ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๐Ÿ“š ๋ชฉ์ฐจ 1. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? 2. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ˆ์ œ 3. ์žฌ๊ท€ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜ ๊ตฌํ˜„ 3.1. ์†Œ์Šค์ฝ”๋“œ 3.2. ๋ฌธ์ œ์  3.2.1. ์—ฐ์‚ฐ ๋ณต์žก์„ฑ 3.2.2. ๋ฌธ์ œ ๋ฐœ์ƒ์˜ ์›์ธ 3.2.3. ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 4. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฐ˜ ๊ตฌํ˜„ 4.1. ํƒ‘ ๋‹ค์šด ๋ฐฉ์‹(์žฌ๊ท€ํ•จ์ˆ˜ ํ™œ์šฉ) 4.1.1. ๋ฉ”๋ชจ์ด์ œ์ด์…˜์ด๋ž€? 4.1.2. ์†Œ์Šค์ฝ”๋“œ 4.1.3. ํŠน์ง• 4.2. ๋ฐ”ํ…€ ์—… ๋ฐฉ์‹(๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ) 4.2.1. ์†Œ์Šค์ฝ”๋“œ 4.2.2. ํŠน์ง• 1. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€? ๋‹ค์ด๋‚˜๋ฏน(๋™์ ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ์—ฐ์‚ฐ ์†๋„์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ตœ๋Œ€ํ•œ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ํŠน์ • ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•ด ๋งค๋ฒˆ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ฐ์‚ฐ์„ ๊ตณ์ด ๋ฐ˜๋ณตํ•ด..