๐Ÿค–Algorithm ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 125๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 11048๋ฒˆ: ์ด๋™ํ•˜๊ธฐ ์ค€๊ทœ๋Š” N×M ํฌ๊ธฐ์˜ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜€์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” 1×1ํฌ๊ธฐ์˜ ๋ฐฉ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ , ๊ฐ ๋ฐฉ์—๋Š” ์‚ฌํƒ•์ด ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋ฏธ๋กœ์˜ ๊ฐ€์žฅ ์™ผ์ชฝ ์œ— ๋ฐฉ์€ (1, 1)์ด๊ณ , ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋žซ ๋ฐฉ์€ (N, M)์ด๋‹ค. ์ค€๊ทœ๋Š” www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • DP(Dynamic Programming)๋กœ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. (0, 0)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ 0ํ–‰๊ณผ 0์—ด์— ๋Œ€ํ•ด ๋ˆ„์ ํ•ฉ์„ ์ €์žฅํ•ด ๋‚˜๊ฐ€๋ฉฐ, ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1๋ฒˆ์„ ์˜ˆ๋กœ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค. // ์›๋ณธ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ 1 2 3 4 0 0 0 5 9 8 7 6 // ๋ˆ„์ ํ•ฉ ์ ์šฉ ํ›„ 1 3(2+1) 6(3+3) 10(6+4) 1 (0+1) 0 0 5 10(9+1) 8 7 6 2..

๐Ÿค–Algorithm/BOJ 2023. 8. 23. 19:11

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1003๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค 0์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜์™€ 1์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ, \( n = 0 \) ๋˜๋Š” \( n = 1 \)์ผ ๋•Œ์˜ 0๊ณผ 1์˜ ์ถœ๋ ฅ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ฆ‰, ์œ„ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์†Œ์Šค ์ฝ”๋“œ์—์„œ if(n == 0)๊ณผ if (n==1)์— ํ•ด๋‹นํ•  ๊ฒฝ์šฐ) 1. Top-down ๋ฐฉ์‹์œผ๋กœ DP ๋ฐฐ์—ด์„ ํ†ตํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ ์ตœ์†Œํ™” ๋ฐฉ๋ฒ• ์‹œ๋„ (์‹คํŒจ) ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜๋ฅผ ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ์˜ ๋ฌธ์ œ์ ์ด ๋ฐ”๋กœ ์ค‘๋ณต ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง€๊ธฐ์— ์‹œ๊ฐ„์ด ํ„ฐ๋ฌด๋‹ˆ์—†์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด๊ณ , ์ด๊ฒƒ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด DP ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ ๊ณ„์‚ฐ๋œ N์ด๋ผ๋ฉด ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์ฃ . ํ•˜..

๐Ÿค–Algorithm/BOJ 2023. 8. 21. 18:06

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 11726๋ฒˆ: 2×n ํƒ€์ผ๋ง 2×n ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ 2×5 ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šด ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ด๋‹ค. www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • \( n = 1\)๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๊ทธ๋ ค๋ณด๋ฉด, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ๊ทœ์น™์ด ์ƒ๊น๋‹ˆ๋‹ค. \( n = 1\)๊ณผ \( n = 2\)๋ฅผ ๋ฒ ์ด์Šค๋กœ ์‚ผ์•„, \( n = 3\)๋ถ€ํ„ฐ๋Š” \( n - 2\)์™€ \( n - 1\)์„ ๊ฐ€์ง€๊ณ  ์กฐํ•ฉํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์ด๋‹ค ๋ณด๋‹ˆ, ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด๊ณผ ๊ฐ™์€ ๊ทœ์น™์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ ๊ฐ™๋„ค์š”. โœ๏ธ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include using namespace std; void SetFastIO() { ios::sync_with_stdio(..

๐Ÿค–Algorithm/BOJ 2023. 8. 21. 16:48

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ €๋Š” DFS๋ฅผ ์ด์šฉํ•˜์—ฌ 8๋ช…์˜ ์บ๋ฆญํ„ฐ๋“ค์˜ ์ˆœ์—ด๋งˆ๋‹ค ์กฐ๊ฑด์‹์„ ๊ฒ€์‚ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์‹ค์ˆ˜ํ–ˆ๋˜ ๊ฒŒ, ์กฐ๊ฑด์‹์˜ ๋‹ค์„ฏ๋ฒˆ์งธ ๊ธ€์ž์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ„๊ฒฉ์€ ๋‘ ์บ๋ฆญํ„ฐ ์‚ฌ์ด์˜ ์บ๋ฆญํ„ฐ ์ˆซ์ž๋ผ๋Š” ๊ฑธ ๊นŒ๋จน์—ˆ์Šต๋‹ˆ๋‹ค. ์ €์ฒ˜๋Ÿผ ์ธ๋ฑ์Šค ํƒ์ƒ‰ ๋ฐฉ์‹์œผ๋กœ ํ•  ์‹œ, ๊ฐ„๊ฒฉ์—๋‹ค๊ฐ€ -1์„ ํ•ด์ฃผ๋Š” ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. int distance = abs(sourceIndex - targetIndex) - 1; โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include using namespace std; c..

๐Ÿค–Algorithm/Programmers 2023. 8. 12. 12:43

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • BFS๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ์‰ฌ์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ƒ‰์น ๋˜์ง€ ์•Š์€ ์˜์—ญ์€ ์ง€๋‚˜๊ฐ„๋‹ค. ์ƒ‰์น ๋˜์–ด ์žˆ๊ณ , ๋ฐฉ๋ฌธํ•œ ์ ์ด ์—†๋Š” ํ”ฝ์…€์ด๋ผ๋ฉด, ํ•ด๋‹น ํ”ฝ์…€์„ ๊ธฐ์ค€์œผ๋กœ ์ƒํ•˜์ขŒ์šฐ BFS ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•œ๋‹ค. BFS ํƒ์ƒ‰์ด ๋๋‚ฌ๋‹ค๋ฉด ์˜์—ญ ๊ฐœ์ˆ˜๋ฅผ 1๊ฐœ ๋Š˜๋ ค์ฃผ๊ณ , ์ด์ „ ์˜์—ญ ํฌ๊ธฐ์™€ ๋น„๊ตํ•˜์—ฌ ๋” ํฐ ๊ฐ’์œผ๋กœ ๊ฐฑ์‹ ํ•œ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include using namespace std; const int DIRECTION_COUNT = 4; const int rowDirections[DIRECTI..

๐Ÿค–Algorithm/Programmers 2023. 7. 13. 20:07

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ •๋ง ์ •๋ง ์ •๋ง ์ •๋ง ์ •๋ง ์งœ์ฆ๋‚ฌ๋˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. C++์€ ์™œ Python์ฒ˜๋Ÿผ ๋ฌธ์ž์—ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ฐ•๋ ฅํ•˜์ง€ ์•Š์€ ๊ฑธ๊นŒ์š”... ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ์ƒ๊ฐ๋‚ฌ๋˜ ๊ฑด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์—… ์‹œ๊ฐ„ ๋•Œ ๋ฐฐ์› ๋˜ B+ ํŠธ๋ฆฌ์˜€์ง€๋งŒ, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์น  ๋•Œ ์–ธ์ œ ๊ทธ๊ฑธ ๋‹ค ๊ตฌํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๊นŒ... ๋…ธ๊ฐ€๋‹ค์ ์ธ(๋ธŒ๋ฃจํŠธ ํฌ์Šค) ๋ฐฉ๋ฒ• ๋ง๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์—†๋‚˜ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์—†์–ด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ํ’€์ด๋ฅผ ์•ฝ๊ฐ„๋งŒ ๋ดค๋Š”๋ฐ, ๊ฑฐ์˜ ๋‹ค ๋ธŒ๋ฃจํŠธ ํฌ์Šค๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋†“๋Š” ๋ฐฉ๋ฒ•์„ ์“ฐ์…จ๋”๋ผ๊ตฌ์š”. ๊ฐ€๋ น ์˜ˆ๋ฅผ ๋“ค์–ด, "java backend junio..

๐Ÿค–Algorithm/Programmers 2023. 7. 10. 15:35