Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Algorithm 237

[๋ฐฑ์ค€] (Swift) 1912๋ฒˆ - ์—ฐ์†ํ•ฉ (dp max ๊ฐ’ ๊ตฌํ•˜๊ธฐ!)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1912 1912๋ฒˆ: ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” -1,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ’€์ด idea ์•ž์—์„œ ํ’€๋˜ dp ๋ฌธ์ œ์™€ ๋‹ค๋ฅผ ๊ฒƒ ์—†๋Š” ๋ฌธ์ œ! ์•ž์—์„œ๋ถ€ํ„ฐ ๋”ํ•ด์ฃผ๊ณ  max๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋ผ. ์™œ๋ƒ๋ฉด!! ์–ด์ฐจํ”ผ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฐพ๋Š”๊ฑฐ๋ผ ๊ณ„์™ max ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์†Œ์Šค์ฝ”๋“œ let n = Int(String(readLine()!))! let arr = readLine()!.split(separator: " ").map{Int(String($0))!} var dp ..

Algorithm/Baekjoon 2022.03.16

[๋ฐฑ์ค€] (Swift) 14002๋ฒˆ - ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด4 (dp, LIS value ์ถœ๋ ฅํ•˜๊ธฐ)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/14002 14002๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด 4 ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net ๋ฌธ์ œ ํ’€์ด IDEA ์šฐ์„  ํ•ด๋‹น ๋ฌธ์ œ๋Š” LIS๋ฅผ ๊ตฌํ˜„ํ•œ ์ดํ›„์—, LIS ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๊ธฐ ๋–„๋ฌธ์— ์•„๋ž˜ ๋‘ ๊ฐœ์˜ ํฌ์ŠคํŒ…์„ ๋ชจ๋‘ ์ดํ•ดํ•ด์•ผ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ˆ˜์›”ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค. โ–ท LIS ๋ž€? https://didu-story.tistory.com/236 [์•Œ๊ณ ๋ฆฌ์ฆ˜] (Swift) ์ตœ๊ฐ• ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด..

Algorithm/Baekjoon 2022.03.13

[๋ฐฑ์ค€] (Swift) 11053๋ฒˆ - ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด (DP๋กœ ํ‘ธ๋Š” LIS, ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ๊ฐœ๋…)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11053 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net ๋ฌธ์ œ ํ’€์ด IDEA ์ดˆ๋ฐ˜์— ๋„๋Œ€์ฒด ์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฌ์•ผ, ๊ทธ๋ƒฅ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋ฉด ์ˆ˜์—ด์ด ๋˜๋Š”๊ฑฐ์ž„? ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ์˜์•„ํ–ˆ์ง€๋งŒ, ๋ฐ”๋กœ ๊ทธ๊ฒŒ ์ž˜ ์ดํ•ดํ•œ ๊ฑฐ์˜€๋‹ค. ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด (LIS, Longest Increasing Subsequences) ๋ผ๋Š” ๊ฐœ๋…์ธ๋ฐ, ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด ์ค‘, ๊ฐ€์žฅ ๊ธด..

Algorithm/Baekjoon 2022.03.13

[์•Œ๊ณ ๋ฆฌ์ฆ˜] (Swift) ์ตœ๊ฐ• ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด (LIS) ์•Œ๊ณ ๋ฆฌ์ฆ˜ (DP, ๋™์ ๊ณ„ํš๋ฒ•์„ ํ™œ์šฉํ•œ LIS)

์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด (LIS,Longest Increasing Subsequence) ์ด๋ž€? ์–ด๋–ค ์ž„์˜์˜ ์ˆ˜์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ด ์ˆ˜์—ด์—์„œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋“ค์„ ์ œ๊ฑฐํ•ด์„œ ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ๋งŒ๋“ค์–ด์ง„ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๊ฐ€์žฅ ๊ธด ์ˆ˜์—ด์„ "์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด"์ด๋ผ๊ณ  ํ•œ๋‹ค. - ๋‚˜๋ฌด์œ„ํ‚ค ๐ŸŒณ โ–ท ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž. [ 3, 5, 7, 9, 2, 1, 4, 8] ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜์—ด์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ด ์ˆ˜์—ด์—์„œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•ด์„œ ๋ถ€๋ถ„์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์„ ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด๋ผ๊ณ  ํ•˜์˜€๋Š”๋ฐ, ์ฆ‰, '๊ณต์ฐจ'๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„๋„ ๋ถ€๋ถ„์ˆ˜์—ด์ด๋ผ๊ณ  ๋ณธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. (๊ทœ์น™์ ์ด์ง€ ์•Š๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋ฉด ๋œ๋‹ค๋Š” ๋œป) ๋”ฐ๋ผ์„œ ์œ„ ์ˆ˜์—ด์—์„œ ๋„์ถœ๋  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ˆ˜..

Algorithm/Basic 2022.03.13

[๋ฐฑ์ค€] (Swift) 2193๋ฒˆ - ์ด์นœ์ˆ˜ (์Šค์œ„ํ”„ํŠธ dp, ๋™์ ๊ณ„ํš๋ฒ•, 2์ฐจ์›)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2193 2193๋ฒˆ: ์ด์นœ์ˆ˜ 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ง„์ˆ˜ ์ค‘ ํŠน๋ณ„ํ•œ ์„ฑ์งˆ์„ ๊ฐ–๋Š” ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ์ด์นœ์ˆ˜(pinary number)๋ผ ํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” ๋‹ค์Œ์˜ ์„ฑ์งˆ์„ ๋งŒ์กฑํ•œ๋‹ค. ์ด์นœ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š www.acmicpc.net ํ’€์ด IDEA N=2 ๋ถ€ํ„ฐ ๊ทœ์น™์„ ์ฐพ์•„๋ณด๋‹ˆ๊นŒ, ์ด์ „์— ํ’€์—ˆ๋˜ ๋™์ ๊ณ„ํš๋ฒ• ๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋์ž๋ฆฌ์— ๋”ฐ๋ผ์„œ ๊ฒฝ์šฐ๊ฐ€ ๋‚˜๋‰˜์—ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์ ํ™”์‹์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. let n = Int(readLine()!)! var dp = [[Int]](repeating: Array(repeating: 0, count: 2), count: n+1) if n..

Algorithm/Baekjoon 2022.03.12

[๋ฐฑ์ค€] (Swift) 10844๋ฒˆ - ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ (dp ๊ธฐ์ดˆ ๋ฌธ์ œ, 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋™์ ๊ณ„ํš๋ฒ• ๋ฌธ์ œ ํ’€๊ธฐ)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/10844 10844๋ฒˆ: ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด IDEA dp๋ฅผ ๊พธ์ค€ํžˆ ํ’€๋‹ค๋ณด๋‹ˆ, ์–ด๋–ค๊ฒŒ 2์ฐจ์›์œผ๋กœ ํ’€์–ด์•ผํ• ์ง€, ์–ด๋–ค๊ฒŒ ์ผ๋ฐ˜ dp 1์ฐจ์› ๋ฐฐ์—ด๋กœ ํ’€์–ด์•ผํ• ์ง€ ๊ฐ์ด ์žกํ˜”๋‹ค. ์˜ฌ๋ ˆ! ํ•ด๋‹น ๋ฌธ์ œ๋Š” N=1 ๋ถ€ํ„ฐ ๊ฒฝ์šฐ์˜์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋”ฐ์ ธ๊ฐ€๋ฉฐ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ณด๋‹ˆ, ๊ทœ์น™์ด ๋ˆˆ์— ๋ณด์˜€๋‹ค. ์ฐพ์€ ๊ทœ์น™์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด, ๋งจ ๋’ท์ž๋ฆฌ์ˆ˜๊ฐ€ 0๊ณผ 9์ธ ๊ฒฝ์šฐ์—๋Š” ํ•œ๊ฐ€์ง€์”ฉ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๊ณ , 1~8 ์ด๋ผ๋ฉด ๋‘๊ฐ€์ง€์˜ ๊ฒฝ์šฐ๋กœ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ทœ์น™์„ ์ฐพ์•„๋‚ผ ์ˆ˜์žˆ๋‹ค. ์ด๋ฅผ dp ๊ฒฝ์šฐ์˜์ˆ˜์— ๋งž๊ฒŒ ๋„์‹ํ™” ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ํ˜„์žฌ N์—์„œ, 0์„ ๋งจ ๋’ท์ž๋ฆฌ๋กœ ๊ฐ€์ง€๋ ค๋ฉด, N-1..

Algorithm/Baekjoon 2022.03.12

[๋ฐฑ์ค€] (Swift) 15990๋ฒˆ - 1,2,3 ๋”ํ•˜๊ธฐ 5 (DP ๊ธฐ์ดˆ ๋ฌธ์ œ, 2์ฐจ์› ๋ฐฐ์—ด ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ๊ณ„ํš๋ฒ• ๋ฌธ์ œ ํ’€๊ธฐ)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/15990 15990๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ 5 ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 1,000,000,009๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด IDEA (DP ์–ด๋ ต๋‹ค .. ๋‚˜์ค‘์— ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ์—ฐ์Šตํ• ๋•Œ dp ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ๊ณต๋žตํ•  ๊ฒƒ์ด๋‹ค ใ… ใ…  ) ๋จผ์ € ํ’€์—ˆ๋˜ "๋ฐฑ์ค€ 9095๋ฒˆ 1,2,3 ๋”ํ•˜๊ธฐ" ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ๋”ํ•ด์ง€๋Š” ์ˆซ์ž์˜ "์ˆœ์„œ!!"๋ฅผ ์ƒ๊ฐํ•ด์•ผํ•œ๋‹ค๋Š” ์ ์ด ์–ด๋ ค์› ๋‹ค. 9095๋ฒˆ 4๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜ 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 ๊ฐ™์€ ์ˆ˜ ์ค‘๋ณต ๊ฐ€๋Šฅ 15990๋ฒˆ (์ง€๊ธˆ ๋ฌธ์ œ) 4๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜ 1+2+1 1+3 ..

Algorithm/Baekjoon 2022.03.10

[๋ฐฑ์ค€] (Swift) 16194๋ฒˆ - ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ2 (DP ๊ธฐ์ดˆ ๋ฌธ์ œ, ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/16194 16194๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ 2 ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ํ’€์ด IDEA ์ด์ „ ๋ฌธ์ œ "์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ"๋ฅผ ๋จผ์ € ํ’€์–ด๋ณด๋ฉด ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. (๋ณต์Šตํ•œ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ๋‹ค์‹œ ํ’€์ด ์•„์ด๋””์–ด๋ฅผ ์ ์–ด๋ณด์ž) ๊ตฌ๋งค๋ฅผ ์›ํ•˜๋Š” ์นด๋“œ์˜ ์ˆ˜๋ฅผ n , ์นด๋“œ ํŒฉ ๊ฐ๊ฐ์˜ ๊ฐ€๊ฒฉ์„ ๋ฐฐ์—ด p ์— ์ž…๋ ฅ์„ ๋ฐ›์„ ๊ฒƒ์ด๋‹ค. dp ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ์กฐ๊ฑด ๋ฒ”์œ„ ๋ฐ–์˜ ์ˆ˜์ธ 99999 ๋ฅผ n+1 ํฌ๊ธฐ๋งŒํผ ๋„ฃ์–ด์ค€๋‹ค. ๊ฐ€์žฅ ํฐ ์ˆ˜ 999999๋ฅผ ๋„ฃ๋Š” ์ด์œ ๋Š”, ์šฐ๋ฆฌ๋Š” min ๊ฐ’์„ ๊ตฌํ•  ๊ฒƒ์ด๋‹ค. ..

Algorithm/Baekjoon 2022.03.10

[๋ฐฑ์ค€] (Swift) 11052๋ฒˆ - ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ (dp max ๊ฐ’ ๊ตฌํ•˜๊ธฐ)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด - ๋งž์•˜์Šต๋‹ˆ๋‹ค! ์˜ˆ์ œ 1๋ฒˆ์„ ํ™œ์šฉํ•˜์—ฌ ์ƒ๊ฐํ•ด๋ณด์ž. ์นด๋“œ ๊ฐœ์ˆ˜ n, ์ž…๋ ฅ๋˜๋Š” ๊ฐ ์นด๋“œํŒฉ์˜ ๊ฐ€๊ฒฉ์„ ๋ฐฐ์—ด p , ์นด๋“œ n ๊ฐœ๋ฅผ ๊ตฌ๋งคํ•  ๋•Œ์˜ ์ตœ๋Œ€ ๊ธˆ์•ก์„ ๋ฐฐ์—ด dp์— ๋„ฃ์„ ๊ฒƒ ์นด๋“œ 4๊ฐœ, ๊ฐ€๊ฒฉ p = [1, 5, 6, 7] ์ผ๋•Œ dp = [0, 0, 0, 0, 0] → ์ธ๋ฑ์Šค ๊ฐ’์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ n+1 ๊ฐœ ๋งŒํผ dp๋ฅผ 0๋ฐฐ์—ด๋กœ ์ •์˜ ์ด๋ ‡๊ฒŒ ์ •์˜ํ•œ ๋’ค, dp ๋ฐฐ์—ด์— ์–ด๋–ป๊ฒŒ max ๊ฐ’์„ ๋„ฃ..

Algorithm/Baekjoon 2022.03.08

[๋ฐฑ์ค€] (Swift) 9095๋ฒˆ - 1,2,3 ๋”ํ•˜๊ธฐ (์Šค์œ„ํ”„ํŠธ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ’€์ด)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/9095 9095๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด - ๋งž์•˜์Šต๋‹ˆ๋‹ค! dp ๋ฌธ์ œ๋ฅผ ์„ธ ๋ฒˆ์งธ ํ‘ธ๋Š” ๊ฒƒ์ด์ง€๋งŒ, ๊ฐ์„ ์•„์ง ์žก์ง€ ๋ชปํ–ˆ๋”ฐ. (๋ฐ”๋ณธ๊ฐ€) ๊ทธ๋ž˜์„œ ํ’€์ด๋ฅผ ์ฐพ์•„๋ณด๋˜ ์ค‘, dp ๋ฌธ์ œ๋Š” ๊ทœ์น™์„ ์ฐพ์•„๋‚ด๋Š” ๊ฑฐ์‹ฑ ํ•ต์‹ฌ ํฌ์ธํŠธ๊ฐ€ ๋œ๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. dp ๋ฌธ์ œ ํŠน์„ฑ์ƒ, ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ๊ณ , memoization ํ•ด๋†“์€ ๋ฐ”๋กœ ์ง์ „์˜ ์ˆ˜์—ด์— ๋”ํ•ด์„œ ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‚ด๊ฐ€ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. *(ํ•„๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์–ด์„œ ์ˆ˜์ •ํ–ˆ์Šด๋‹ค ํ—ˆํ—ˆ) ์ด๋ ‡๊ฒŒ ์ผ๋‹จ 1 ๋ถ€ํ„ฐ ์ญ‰ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด๋ฉด,..

Algorithm/Baekjoon 2022.03.08
๋ฐ˜์‘ํ˜•