[c++] BOJ 1915 :: ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 12. 23:28

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ 20๋ถ„ ๋ฌธ์ œ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ n×m์˜ 0, 1๋กœ ๋œ ๋ฐฐ์—ด์ด ์žˆ๋‹ค. ์ด ๋ฐฐ์—ด์—์„œ 1๋กœ ๋œ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 ์œ„์™€ ๊ฐ™์€ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ€์šด๋ฐ์˜ 2×2 ๋ฐฐ์—ด์ด ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์ด๋‹ค. ํ’€์ด ์ž‘์€ ๋ฌธ์ œ : ํ˜„์žฌ ์œ„์น˜์—์„œ ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ •์‚ฌ๊ฐํ˜•์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ์žฌ๊ท€์‹ ํ•ด๋‹น ์œ„์น˜์—์„œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๊ธฐ ์ •์‚ฌ๊ฐํ˜•์˜ ํ•œ ๋ณ€์„ Area(row, col)์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด Area(row, col) = min(Area(row+1,col)+1, Area(row,col+1)+1, Area(row+1,col+1)+1) ์กฐ๊ฑด ๋ฒฝ์— ๋ถ™์–ด์žˆ์œผ๋ฉด Area๊ฐ€ 1 ๊ฐ’์ด ..

[c++] BOJ 1947 :: ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 6. 13:11

๋‚œ์ด๋„ : ๊ณจ๋“œ 3 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 20๋ถ„ ๋ฌธ์ œ ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฌธ์ œ n*n์˜ ํฌ๊ธฐ์˜ ๋Œ€๋‚˜๋ฌด ์ˆฒ์ด ์žˆ๋‹ค. ์š•์‹ฌ์Ÿ์ด ํŒ๋‹ค๋Š” ์–ด๋–ค ์ง€์—ญ์—์„œ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋จน๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ณณ์˜ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋‹ค ๋จน์–ด ์น˜์šฐ๋ฉด ์ƒ, ํ•˜, ์ขŒ, ์šฐ ์ค‘ ํ•œ ๊ณณ์œผ๋กœ ์ด๋™์„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋˜ ๊ทธ๊ณณ์—์„œ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋จน๋Š”๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋‹จ ์กฐ๊ฑด์ด ์žˆ๋‹ค. ์ด ํŒ๋‹ค๋Š” ๋งค์šฐ ์š•์‹ฌ์ด ๋งŽ์•„์„œ ๋Œ€๋‚˜๋ฌด๋ฅผ ๋จน๊ณ  ์ž๋ฆฌ๋ฅผ ์˜ฎ๊ธฐ๋ฉด ๊ทธ ์˜ฎ๊ธด ์ง€์—ญ์— ๊ทธ ์ „ ์ง€์—ญ๋ณด๋‹ค ๋Œ€๋‚˜๋ฌด๊ฐ€ ๋งŽ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ์— ๊ทธ๋Ÿฐ ์ง€์ ์ด ์—†์œผ๋ฉด ์ด ํŒ๋‹ค๋Š” ๋ถˆ๋งŒ์„ ๊ฐ€์ง€๊ณ  ๋‹จ์‹ ํˆฌ์Ÿ์„ ํ•˜๋‹ค๊ฐ€ ์ฃฝ๊ฒŒ ๋œ๋‹ค(-_-) ์ด ํŒ๋‹ค์˜ ์‚ฌ์œก์‚ฌ๋Š” ์ด๋Ÿฐ ํŒ๋‹ค๋ฅผ ๋Œ€๋‚˜๋ฌด ์ˆฒ์— ํ’€์–ด ๋†“์•„์•ผ ํ•˜๋Š”๋ฐ, ์–ด๋–ค ์ง€์ ์— ์ฒ˜์Œ์— ํ’€์–ด ๋†“์•„์•ผ ํ•˜๊ณ , ์–ด๋–ค ๊ณณ์œผ๋กœ ์ด๋™์„ ์‹œ์ผœ์•ผ ๋‘˜ ๋‹ค ์†Œ์ค‘ํ•œ ์ƒ๋ช…์ด์ง€๋งŒ ํŒ๋‹ค๊ฐ€ ์ตœ๋Œ€ํ•œ ์˜ค๋ž˜ ..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์žฌ๊ท€ํ˜ธ์ถœ (๋™์  ๊ณ„ํš๋ฒ•)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 8. 9. 20:26

๐Ÿ‘๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ Dynamic Programming ์ฆ‰, DP๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•์ด๋‹ค. ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์ ํ™”์‹์œผ๋กœ ๋งŒ๋“ค์–ด ๋ถ„ํ•  ์ •๋ณตํ•  ๋•Œ, ๋ฐ˜๋ณต๋ฌธ ๋˜๋Š” ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๊ณผ์ •์—์„œ ๊ณ„์‚ฐ์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•ด๋‘์–ด ์ค‘๋ณต๋˜๋Š” ๊ณ„์‚ฐ์„ ํ•˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ด๋Š” ์ ํ™”์‹ ์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ ๊ฐ’์„ ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ์„ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๋ณดํ†ต ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. DP ๊ณผ์ • ์ „์ฒด ๋ฌธ์ œ๋ฅผ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‹จ์ˆœํ™”ํ•œ๋‹ค. 1๋ฒˆ์˜ ๊ณผ์ •์—์„œ ์ ํ™”์‹์„ ๋„์ถœํ•œ๋‹ค. ์ ํ™”์‹์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•œ๋‹ค. bottom-up top-down ์—†๋‹ค๋ฉด ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ•œ๋‹ค. ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๋ฐฉ์‹์€ ๋ณดํ†ต ๋ฐฐ์—ด์ด๋‹ค. ์ „์ฒด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ๋Œ€ํ‘œ ๋ฌธ์ œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ตฌํ•˜๊ธฐ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ์‚ผ๊ฐํ˜• ์œ„์˜ ์ตœ๋Œ€ ๊ฒฝ๋กœ (๋ฌธ์ œ ID: TRIANGLEPATH, ๋‚œ์ด๋„ : ํ•˜)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 7. 13:12

https://www.algospot.com/judge/problem/read/TRIANGLEPATH ๋ฌธ์ œ 6 1 2 3 7 4 9 4 1 7 2 7 5 9 4 ์œ„ ํ˜•ํƒœ์™€ ๊ฐ™์ด ์‚ผ๊ฐํ˜• ๋ชจ์–‘์œผ๋กœ ๋ฐฐ์น˜๋œ ์ž์—ฐ์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งจ ์œ„์˜ ์ˆซ์ž์—์„œ ์‹œ์ž‘ํ•ด, ํ•œ ๋ฒˆ์— ํ•œ ์นธ์”ฉ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€ ๋งจ ์•„๋ž˜ ์ค„๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๋Š” ์•„๋ž˜ ์ค„๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ๋งˆ๋‹ค ๋ฐ”๋กœ ์•„๋ž˜ ์ˆซ์ž, ํ˜น์€ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์ˆซ์ž๋กœ ๋‚ด๋ ค๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ ๋ชจ๋“  ๊ฒฝ๋กœ ์ค‘ ํฌํ•จ๋œ ์ˆซ์ž์˜ ์ตœ๋Œ€ ํ•ฉ์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ์ž…๋ ฅ ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜ C(C > C; while (C--) { cin >> n; int index = 0; for (int i = 0; i ..