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

๋ชฉ๋ก์ „์ฒด ๊ธ€ (196)

JUINTINATION

๋ฐฑ์ค€ 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด

๋ฌธ์ œ 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 ํ’€์ด LIS(Longest Increasing Subsequence)๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋กœ ์–ด๋–ค ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30,..

๋ฐฑ์ค€ 17404๋ฒˆ: RGB๊ฑฐ๋ฆฌ 2

๋ฌธ์ œ https://www.acmicpc.net/problem/17404 17404๋ฒˆ: RGB๊ฑฐ๋ฆฌ 2 ์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ www.acmicpc.net ํ’€์ด n๊ฐœ์˜ ์ง‘์„ ๋งž์ถฐ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ค‘ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์•„๋ž˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1๋ฒˆ ์ง‘์˜ ์ƒ‰์€ 2๋ฒˆ, n๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. n๋ฒˆ ์ง‘์˜ ์ƒ‰์€ n-1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. i(2 ≤ i ≤ n-1)๋ฒˆ ์ง‘์˜ ์ƒ‰์€..

๋ฐฑ์ค€ 1149๋ฒˆ: RGB๊ฑฐ๋ฆฌ

๋ฌธ์ œ https://www.acmicpc.net/problem/1149 1149๋ฒˆ: RGB๊ฑฐ๋ฆฌ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ www.acmicpc.net ํ’€์ด n๊ฐœ์˜ ์ง‘์„ ๋งž์ถฐ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ค‘ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์•„๋ž˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 1๋ฒˆ ์ง‘์˜ ์ƒ‰์€ 2๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. n๋ฒˆ ์ง‘์˜ ์ƒ‰์€ n-1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. i(2 ≤ i ≤ n-1)๋ฒˆ ์ง‘์˜ ์ƒ‰์€ i-1๋ฒˆ, i..

๋™์  ๊ณ„ํš๋ฒ•(dynamic programming)

๋™์  ๊ณ„ํš๋ฒ•(dp)์ด๋ž€? ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํ•œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ‘ธ๋Š” ๋ฐฉ๋ฒ• ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ํ†ตํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์„ ๋ฐฉ์ง€ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ• ๋™์  ๊ณ„ํš๋ฒ•์˜ ์กฐ๊ฑด ์–ด๋–ค ๋ฌธ์ œ(problem)๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜์œ„ ๋ฌธ์ œ(sub problem)๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ๊ฒฝ์šฐ ํ•˜์œ„ ๋ฌธ์ œ๋“ค์˜ ๋‹ต์œผ๋กœ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ ํ•˜์œ„ ๋ฌธ์ œ๋“ค์ด ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ ๋™์  ๊ณ„ํš๋ฒ•์˜ ์˜ˆ์‹œ dp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ๋ฌธ์ œ ์ค‘์— ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค. fib(n) { if (n = 0) then return 0; else if (n = 1) then return 1; else return (fib(n - 1) + fib(n - 2)); } ์ด ๋ฌธ์ œ๋Š” ์žฌ๊ท€์  ์•Œ๊ณ ๋ฆฌ์ฆ˜..

๋ฐฑ์ค€ 1107๋ฒˆ: ๋ฆฌ๋ชจ์ปจ

๋ฌธ์ œ https://www.acmicpc.net/problem/1107 1107๋ฒˆ: ๋ฆฌ๋ชจ์ปจ ์ฒซ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ์ด๋™ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ฑ„๋„ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ์˜ ๊ฐœ์ˆ˜ M (0 ≤ M ≤ 10)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์…‹์งธ ์ค„์—๋Š” ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ www.acmicpc.net ํ’€์ด ์ผ๋ถ€ ์ˆซ์ž ๋ฒ„ํŠผ์ด ๊ณ ์žฅ ๋‚˜์žˆ๊ณ  +1 ํ˜น์€ -1๋งŒํผ ์ฑ„๋„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” +, - ๋ฒ„ํŠผ์ด ์žˆ๋Š” ๋ฆฌ๋ชจ์ปจ๊ณผ ๋ฌดํ•œ๋Œ€๋งŒํผ์˜ ์ฑ„๋„์ด ์žˆ์„ ๋•Œ 100๋ฒˆ ์ฑ„๋„๋ถ€ํ„ฐ n๋ฒˆ ์ฑ„๋„๋กœ ๊ฐ€๊ธฐ ์œ„ํ•ด ๋ฒ„ํŠผ์„ ์ตœ์†Œ ๋ช‡ ๋ฒˆ์„ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ C์–ธ์–ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ์ตœ์†Ÿ๊ฐ’ min์€ ์›ํ•˜๋Š” ์ฑ„๋„ ๋ฒˆํ˜ธ(n)์™€ ํ˜„์žฌ ์ฑ„๋„ ์œ„์น˜(100)์™€์˜ ์ฐจ์ด๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ๋Š” + ๋˜๋Š” - ..

๋ฐฑ์ค€ 1759๋ฒˆ: ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/1759 1759๋ฒˆ: ์•”ํ˜ธ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ L, C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (3 ≤ L ≤ C ≤ 15) ๋‹ค์Œ ์ค„์—๋Š” C๊ฐœ์˜ ๋ฌธ์ž๋“ค์ด ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž๋“ค์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์ด๋ฉฐ, ์ค‘๋ณต๋˜๋Š” ๊ฒƒ์€ ์—†๋‹ค. www.acmicpc.net ํ’€์ด ์„œ๋กœ ๋‹ค๋ฅธ c๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธธ์ด๊ฐ€ l์ธ ๋‹ค์Œ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋Š” ์•”ํ˜ธ์˜ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ๋ชจ์Œ(a, e, i, o, u)๊ณผ ์ตœ์†Œ ๋‘ ๊ฐœ์˜ ์ž์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์•ŒํŒŒ๋ฒณ์ด ์•”ํ˜ธ์—์„œ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋˜์–ด์žˆ๋‹ค. ์ฝ”๋“œ C์–ธ์–ด l๊ณผ c๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ํ›„์— c๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅ๋ฐ›๊ธฐ ์ „์— ๊ฐœํ–‰๊ณผ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด getchar()๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต..