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

Algorithm/Baekjoon 149

[๋ฐฑ์ค€] (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

[๋ฐฑ์ค€] (Swift) 11727๋ฒˆ - 2xn ํƒ€์ผ๋ง2 (์Šค์œ„ํ”„ํŠธ, dp, ๋™์ ๊ณ„ํš๋ฒ• ์ž์„ธํ•œ ํ’€์ด)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11727 11727๋ฒˆ: 2×n ํƒ€์ผ๋ง 2 2×n ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×17 ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ๊ฐ€์ง€ ์˜ˆ์ด๋‹ค. www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด ์šฐ์„  ์ด์ „ 2xnํƒ€์ผ๋ง ๋ฌธ์ œ์—์„œ๋Š” ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ทธ๋ƒฅ ํ”ผ๋ณด๋‚˜์น˜ ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๊ทธ ๋ฌธ์ œ์˜ ์—ฐ์žฅ์„ ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ทœ์น™์œผ๋กœ๋Š” ํ’€ ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ์™œ ๊ทธ๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๋‹ค.. ์šฐ์„  ํ’€์ด์— ์•ž์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์›๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•ด๋ณด์ž. [1, 2, 3, 4] ์˜ ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ , ์ด ์ˆซ์ž๋“ค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆœ์—ด์„ ์ž‘์„ฑํ•ด๋ณด๋ฉด ๋‹ค์Œ..

Algorithm/Baekjoon 2022.03.05

[๋ฐฑ์ค€] (Swift) 11726๋ฒˆ - 2xn ํƒ€์ผ๋ง (DP ๊ธฐ์ดˆ ๋ฌธ์ œ, ๋™์ ๊ณ„ํš๋ฒ• ํ’€์ด)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11726 11726๋ฒˆ: 2×n ํƒ€์ผ๋ง 2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×5 ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ด๋‹ค. www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด ์ฒ˜์Œ์—๋„ ์ด๊ฒŒ ์™œ ๋™์ ๊ณ„ํš๋ฒ•์ธ์ง€ ๋ชฐ๋ž๋‹ค. ์ธํ„ฐ๋„ท์„ ๋Œ€์ถฉ ์ฐธ๊ณ ํ•ด๋ณด๋‹ˆ, ํƒ€์ผ๋ง ๊ฐฏ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋Š” ๊ทœ์น™์ด ํ”ผ๋ณด๋‚˜์น˜์™€ ๋‹ฎ์•„์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€๋ฆด ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ •๋ง, ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๋ฉฐ ํ’€์ด๊ณผ์ •์„ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ผ์ •ํ•œ ๊ทœ์น™๋Œ€๋กœ, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ํ˜•ํƒœ๋กœ ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ bottom up ๋ฐฉ์‹์œผ๋กœ for ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ’€์—ˆ๋‹ค. dp ๋ฌธ์ œ์—์„œ ๊ธฐ์–ตํ•  ๊ฒƒ์€, dp ๋ฐฐ์—ด์€ ํ•ญ์ƒ, ๊ฒฝ..

Algorithm/Baekjoon 2022.03.05

[๋ฐฑ์ค€] (Swift) 1463๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ (์Šค์œ„ํ”„ํŠธ, DP, ๋™์ ๊ณ„ํš๋ฒ•)

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1463 1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 106๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด bottom up ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ ํ’€์ด dp ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ ์ˆซ์ž๋ฅผ ๋œปํ•˜๊ณ , value๊ฐ€ ๊ทธ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋„๋‹ฌํ• ๋•Œ ์ตœ์†Œ ๊ฒฝ์šฐ์˜ ์ˆ˜์ด๋‹ค. ์ฆ‰, dp ๋ฐฐ์—ด์—๋Š” ๊ทธ ์ˆซ์ž๊นŒ์ง€ ๋„๋‹ฌํ• ๋•Œ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ํ•ด๋‘๋Š” ๊ฒƒ์ด๋‹ค. 1๋ฒˆ๊ทœ์น™ (3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค) dp[n] = d[n/3] +1 ๋ฐ”๋กœ ์ง์ „ (3์˜๋ฐฐ์ˆ˜๋‹ˆ๊นŒ n/3) ๊ฒฝ์šฐ์˜ ์ˆ˜ ์—์„œ 1์„ ๋”ํ•ด์ฃผ๋Š” ๊ฒƒ 2๋ฒˆ๊ทœ์น™ (2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง„๋‹ค) dp[n] = dp[n/2] +1 3๋ฒˆ๊ทœ์น™ (1์„ ๋บ€๋‹ค) dp[n] = dp[n-1]+1 1์„ ๋นผ๋Š” ๊ฑด,..

Algorithm/Baekjoon 2022.03.05

[๋ฐฑ์ค€] (Swift ์Šค์œ„ํ”„ํŠธ) 17103๋ฒˆ - ๊ณจ๋“œ๋ฐ”ํ ํŒŒํ‹ฐ์…˜

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/17103 17103๋ฒˆ: ๊ณจ๋“œ๋ฐ”ํ ํŒŒํ‹ฐ์…˜ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T (1 ≤ T ≤ 100)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ •์ˆ˜ N์€ ์ง์ˆ˜์ด๊ณ , 2 < N ≤ 1,000,000์„ ๋งŒ์กฑํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•ด๊ฒฐ ์•„์ด๋””์–ด ํ•จ์ˆ˜ isPrimeNumber ํ˜„์žฌ ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜๊นŒ์ง€ ๋ฌด์Šจ ์†Œ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๋ฐฐ์—ด๋กœ ์ •๋ฆฌ ์˜ˆ๋ฅผ๋“ค์–ด 9๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด, [2, 3, 5, 7] ์ด ๋ฐ˜ํ™˜๋œ๋‹ค. main ์ž…๋ ฅ๋ฐ›์€ num ๊นŒ์ง€ ๋ฌด์Šจ ์†Œ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ isPrimeNums ๋ฐฐ์—ด ์ƒ์„ฑ 2๋ถ€ํ„ฐ num/2 ๊นŒ์ง€ ๋ฐ˜๋ณต ์™œ num/2 ๋ƒ? 10์„ ์˜ˆ๋กœ ๋“ค๋ฉด, (3, 7), (5, 5) (7, 3) ์ด๋ ‡๊ฒŒ ๊ณจ๋“œ๋ฐ”ํ ํŒŒํ‹ฐ์…˜์ด 3..

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