์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

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

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

    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํšจ์œจ์ ์œผ๋กœ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ค‘๋ณต๋˜๋Š” ์ž‘์€๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ Memorization์„ ํ†ตํ•ด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€๋ฌธ์ œ๋กœ ๋ฐ”๊พธ์–ด ํ‘ธ๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Overlapping Subproblem๊ณผ Optimal Substructure๋ผ๋Š” ๋‘๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ์กฐ๊ฑด์— ์˜ํ•ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ค‘๋ณต์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ๋“ค์ด ์žˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Memorization์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์ด ์žˆ์œผ๋ฉฐ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋‘๊ฐ€์ง€ ์กฐ๊ฑด๊ณผ ํšจ์œจ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ Memoriation์„ ์•Œ์•„๋ณด๋„๋ก..

    ์ฐจ๊ฐ€์šด ํ•™๊ต์˜ ์‹œ๊ฐ„์€ ๋ฉˆ์ถ˜๋‹ค(์ƒ,ํ•˜)

    ์ฐจ๊ฐ€์šด ํ•™๊ต์˜ ์‹œ๊ฐ„์€ ๋ฉˆ์ถ˜๋‹ค(์ƒ,ํ•˜)

    ์ฑ… ์†Œ๊ฐœ ์ €์ž : ์ธ ์ง€๋ฌด๋ผ ๋ฏธ์ฆˆํ‚ค ์ €/ ์ด์œค์ • ์—ญ ์ถœํŒ์‚ฌ : ์†์•ˆ์˜ ์ฑ… ์žฅ๋ฅด : ๋ฏธ์Šคํ…Œ๋ฆฌ, ์†Œ์„ค *์ด ๊ธ€์€ ์ฑ… ๋‚ด์šฉ์— ๋Œ€ํ•œ ์Šคํฌ์ผ๋Ÿฌ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ. ์ฑ…์„ ์ฝ์€ ๊ณ„๊ธฐ ๋‚˜๋Š” ์‹ฌ์‹ฌํ•  ๋•Œ ๋…์„œ๋ฅผํ•˜๋Š”๊ฒƒ์„ ์ฆ๊ธด๋‹ค. ์œ„ ์ฑ…์€ ์ตœ๊ทผ ๊ต๋ณด๋ฌธ๊ณ  ์ฑ…๋ฐฉ์„ ๋†€๋Ÿฌ๊ฐ€ ์ฑ…์„ ๊ตฌ๊ฒฝํ•˜๋‹ค๊ฐ€ ์นœ๊ตฌ์˜ ์ถ”์ฒœ์œผ๋กœ ์ฝ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋А๋‚€์  ์–ด๋А ํ•™์ƒ์˜ ์ž์‚ด๋กœ ์ธํ•˜์—ฌ ๋ฏธ์Šคํ…Œ๋ฆฌํ•œ ์‚ฌ๊ฑด์ด ๋ฒŒ์–ด์ง€๋Š” ๋‚ด์šฉ์ด๋‹ค. ์ž‘๊ฐ€์˜ ๋ฌ˜์‚ฌ๋ ฅ์ด ๋งค์šฐ ๋›ฐ์–ด๋‚˜๊ณ , ํ•œ๋ช…์”ฉ ์ฃฝ์œผ๋ฉด์„œ ์ ์  ์žŠํ˜€์ง„ ๊ธฐ์–ต์„ ๋˜์ฐพ๊ฒŒ ๋˜๋Š”๋ฐ ์ฑ… ๋‚ด์šฉ์ด ๊ต‰์žฅํžˆ ๋งค๋ ฅ์ ์ด๊ณ  ๋ชฐ์ž…์ด ์ž˜ ๋˜๋Š” ์ฑ…์ด๋‹ค. ๋ฏธ์Šคํ…Œ๋ฆฌํ•œ ์žฅ๋ฅด์—์„œ ๋งˆ์ง€๋ง‰์— ๋ฐ˜์ „๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ฑ…์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ํ•œ๋ฒˆ์ฏค ์ฝ๋Š”๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ํฌ์ŠคํŒ…์„ ๋งˆ์น˜๋ฉฐ ์ตœ๊ทผ์—๋Š” ํ‡ด๊ทผํ•˜๊ณ ๋‚˜์„œ ์šด๋™ํ•˜๊ณ  ์ทจ์—…์ค€๋น„๋ฅผ ํ•˜๋А๋ผ ์ •์‹ ์ด ์—†์ด ๋ณด๋ƒˆ๋‹ค. ๊ทธ๋ž˜๋„ ์กฐ๊ธˆ์˜ ์—ฌ์œ ๊ฐ€ ์žˆ๋Š”..

    [Backjoon_14391] ์ข…์ด์กฐ๊ฐ (Java)

    [Backjoon_14391] ์ข…์ด์กฐ๊ฐ (Java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/14391 ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์˜์„ ์ด๋Š” ์ˆซ์ž๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š” ์ง์‚ฌ๊ฐํ˜• ์ข…์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ข…์ด๋Š” 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ , ์ˆซ์ž๋Š” ๊ฐ ์นธ์— ํ•˜๋‚˜์”ฉ ์“ฐ์—ฌ ์žˆ๋‹ค. ํ–‰์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๊ณ , ์—ด์€ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค. ์˜์„ ์ด๋Š” ์ง์‚ฌ๊ฐํ˜•์„ ๊ฒน์น˜์ง€ ์•Š๋Š” ์กฐ๊ฐ์œผ๋กœ ์ž๋ฅด๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ์กฐ๊ฐ์€ ํฌ๊ธฐ๊ฐ€ ์„ธ๋กœ๋‚˜ ๊ฐ€๋กœ ํฌ๊ธฐ๊ฐ€ 1์ธ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋‹ค. ๊ธธ์ด๊ฐ€ N์ธ ์กฐ๊ฐ์€ N์ž๋ฆฌ ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€๋กœ ์กฐ๊ฐ์€ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ๊นŒ์ง€ ์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์ธ ๊ฒƒ์ด๊ณ , ์„ธ๋กœ ์กฐ๊ฐ์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๊นŒ์ง€ ์ˆ˜๋ฅผ ์ด์–ด๋ถ™์ธ ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 4×4 ํฌ๊ธฐ์˜ ์ข…์ด๋ฅผ ์ž๋ฅธ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ฐ ์กฐ๊ฐ์˜ ํ•ฉ์€ 4..

    [Backjoon_1182] ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ(Java)

    [Backjoon_1182] ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ(Java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/1182 1182๋ฒˆ: ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ์ •์ˆ˜ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ N๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์žˆ์„ ๋•Œ, ํฌ๊ธฐ๊ฐ€ ์–‘์ˆ˜์ธ ๋ถ€๋ถ„์ˆ˜์—ด ์ค‘์—์„œ ๊ทธ ์ˆ˜์—ด์˜ ์›์†Œ๋ฅผ ๋‹ค ๋”ํ•œ ๊ฐ’์ด S๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” N๊ณผ ์ •์ˆ˜ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) ๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ..