ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Recent Posts
02-01 18:12

Today
Total

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

๋ชฉ๋กComputer Science/์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜ (7)

์—ฐ์˜ ๊ธฐ๋ก ๐Ÿช

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ถ„ํ• ์ •๋ณต(Divide and conquer)

๊ฐœ๋… ๋ถ„ํ• ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๋‘˜ ์ด์ƒ์˜ ๋ถ€๋ถ„๋ฌธ์ œ๋กœ ๋‚˜๋ˆˆ ๋’ค ๊ฐ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๊ณ , ์ด๋ฅผ ๋ณ‘ํ•ฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ข…๋งŒ๋ถ์˜ ํ‘œํ˜„์„ ๋นŒ๋ฆฌ์ž๋ฉด ๊ฐ๊ฐœ ๊ฒฉํŒŒ ๋ผ๊ณ  ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”๋กœ ์˜ˆ์ œ๋ฅผ ๋ณด๋„๋ก ํ•˜์ž. ์˜ˆ์ œ 1 : ์ˆ˜์—ด์˜ ํ•ฉ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด๋ฅผ ๋‹จ์ˆœ ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค. #include using namespace std; int recursiveSum(int N) { if (N == 1) { return N; } else { return recursiveSum(N - 1) + N; } } int main() { int A; cin >> A; cout > A; cout

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ฆฌ๋””(ํƒ์š•๋ฒ•,Greedy Algorithm)

๊ฐœ๋… ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐœ๋…์€ ๊ต‰์žฅํžˆ ๋‹จ์ˆœํ•˜๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ํƒ์š•์ ์œผ๋กœ, ๋ˆˆ ์•ž์˜ ๊ฐ€์žฅ ํฐ ์ด์ต์„ ์ถ”๊ตฌํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์‹ค์ œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์˜จ๋‹ค. ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ์ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋˜๋Š” ๊ทผ์‚ฌ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ, ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ ์ˆœ๊ฐ„์— ์ตœ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์„ ํƒํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜์—ฌ ์ตœ์ข…์ ์ธ ํ•ด๋‹ต์— ๋„๋‹ฌํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ๋ˆˆ์•ž์˜ ์ด์ต๋งŒ์„ ์ซ“๋Š” ๊ฒƒ์ด ์ตœ์ ์˜ ์„ ํƒ์ด๋ผ๊ณ ๋Š” ํ•  ์ˆ˜ ์—†๋‹ค. ๊ฐ€๋ น ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์˜ˆ์ œ 1 ๊ฐ ๊ทธ๋ฆผ์˜ ์ ํžŒ ์ˆซ์ž๋Š” ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด๊ณ  ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์•ˆ์— level1, level2, level3๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ํ•ด๊ฒฐํ•˜๋ ค ํ•œ๋‹ค. ์ด๋•Œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™” ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ..

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋™์  ๊ณ„ํš๋ฒ•(Dynamic Programming)

๊ฐœ๋… ๋™์ ๊ณ„ํš๋ฒ•์˜ ์ •์˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ฒ˜์Œ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๋” ์ž‘์€ ๋ฌธ์ œ๋“ค๋กœ ๋‚˜๋ˆˆ ๋’ค ๊ฐ ์กฐ๊ฐ์˜ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๊ณ , ์ด ๋‹ต๋“ค๋กœ๋ถ€ํ„ฐ ์›๋ž˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ต์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹. ์ •์˜๋งŒ ๊ฐ€์ง€๊ณ ๋Š” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค. ๋’ค์—์„œ ์„ค๋ช…ํ•˜๊ฒ ์ง€๋งŒ, ๊ฒฐ๋ก ์ ์œผ๋กœ ๋งํ•˜์ž๋ฉด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๊ฐ’๋“ค์„ ์ €์žฅํ•˜๊ณ , ํ›„์— ๊ทธ๊ฒƒ๋“ค์„ ๊ฐ€์ง€๊ณ  ๋‹ต์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋™์  ๊ณ„ํš๋ฒ•์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ๋จผ์ € ์ ํ™”์‹์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค. ์ ํ™”์‹์ด๋ผ๋Š” ๊ฒƒ์€ ์–ด๋–ค ์ˆ˜์—ด์˜ ์ผ๋ฐ˜ํ•ญ์„ ์ด์ „์˜ ํ•ญ๋“ค์„ ์ด์šฉํ•ด ์ •์˜ํ•œ ์‹์ด๋‹ค. ๊ณ ๋“ฑํ•™๊ต ๋•Œ ๋ฐฐ์› ๋˜ ์ˆ˜์—ด์˜ ์ผ๋ฐ˜ํ•ญ์„ ๊ตฌํ•˜๋“ฏ์ด n๋ฒˆ์งธ ํ•ญ์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”ํžˆ๋“ค ์•„๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ์ ํ™”์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ด์ œ ์ด ์‹์„ ๊ฐ€์ง€๊ณ  ์ฝ”๋“œ๋กœ ์ž‘์„ฑ์„ ํ•ด ๋ณด๋„๋ก ํ•˜์ž. ์ผ๋ฐ˜์ ์œผ๋กœ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ..

[C++์ž๋ฃŒ๊ตฌ์กฐ] ๋ฐฐ์—ด(Array)๊ตฌํ˜„

๊ตฌํ˜„ ๋‚ด์šฉ at(๐’Š) : ๋ฐฐ์—ด Arr์˜ ์ธ๋ฑ์Šค i์— ์ €์žฅ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.(๋‹จ, 0 ≤ ๐‘– ≤ ๐‘ − 1) add(๐’Š, ๐’—๐’‚๐’๐’–๐’†) : ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ์ธ๋ฑ์Šค ๐‘–์—์„œ ๐‘ − 2์˜ ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ์ธ๋ฑ์Šค ๐‘–๋ฒˆ์งธ์— ๐‘ฃ๐‘Ž๐‘™๐‘ข๐‘’๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. (๋‹จ, 0 ≤ ๐‘– ≤ ๐‘ − 1) remove(๐’Š): ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ์ธ๋ฑ์Šค ๐‘– + 1์—์„œ ๐‘ − 1๊นŒ์ง€์˜ ๊ฐ’์„, ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ์ด๋™์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ๐‘ − 1๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ 0์œผ๋กœ ํ• ๋‹นํ•œ๋‹ค. (๋‹จ, 0 ≤ ๐‘– ≤ ๐‘ − 1) set(๐’Š, ๐’—๐’‚๐’๐’–๐’†): ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ์ธ๋ฑ์Šค ๐‘–๋ฒˆ์งธ์— ๐‘ฃ๐‘Ž๐‘™๐‘ข๐‘’๋ฅผ ํ• ๋‹นํ•˜๊ณ  ๐‘ฃ๐‘Ž๐‘™๐‘ข๐‘’๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. (๋‹จ, 0 ≤ ๐‘– ≤ ๐‘ −1) print(): ๋ฐฐ์—ด ๐ด๐‘Ÿ๐‘Ÿ์˜ ๋ชจ๋“  ๊ฐ’์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„์ง€์–ด ..

[C++ ์ž๋ฃŒ๊ตฌ์กฐ] ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Singly Linked List) - ๊ธฐ๋ณธ

https://thewayaboutme.tistory.com/91 c++ singly linked list ๋‹จ์ผ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„ * ๋ณธ๋ฌธ์€ (๋ฒ”ํ•œ์„œ์ ์ฃผ์‹ํšŒ์‚ฌ, 2013)์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ–ฅํ›„ ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ ์ž๋ฃŒ๊ตฌ์กฐ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉฐ ์ •ํ™•ํ•œ + ์ตœ์‹  ๋‚ด์šฉ ์ดํ•ด๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋ณด์™„ํ•ด ๋‚˜๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 1. ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€ thewayaboutme.tistory.com ์ด ๊ธ€์€ ์œ„ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐ’๋“ค์„ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์€ ์•„๋งˆ ๋ฐฐ์—ด(Array)์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ์ค‘๊ฐ„์— ์žˆ๋Š” ์›์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ๊ฐ’์„ ์‚ฝ์ž…ํ•  ๋•Œ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค. ๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฐ์—ด์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์—ฌ๊ธฐ์„œ 22๋ฅผ ์‚ญ์ œํ•˜๋ ค ํ•œ..