๋‚˜์˜ ์ด์•ผ๊ธฐ/ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€

ํฌ๋ž˜ํ”„ํ†ค ์ •๊ธ€ 6์ฃผ์ฐจ WIL

Unused 2025. 4. 24. 19:50

C๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

์—ฌํƒœ๊ป ์ œ๊ฐ€ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ฅผ ๋ฐฐ์šฐ๊ฒŒ ๋˜๋ฆฌ๋ผ๊ณ ๋Š” ์ƒ๊ฐ์„ ํ•œ ์ ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”๊ตฌ๋‚˜ C๋กœ ์งœ๋ฆฌ๋ผ๊ณ ๋Š” ์ƒ์ƒ๋„ ๋ชปํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ œ๊ฒŒ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ž€ ์‹ค์ œ ๋ฆฌ๋ˆ…์Šค, ์ž๋ฐ” ๋“ฑ ํ˜„์—…์—์„œ ์“ฐ์ด๋Š” ๋ณต์žกํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค, ์ •๋„์˜ ํฌ๋„๋ฌด๋ ˆํ•œ ์ด๋ฏธ์ง€๋งŒ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค (์ด๊ฒŒ BST์˜ ์ผ์ข…์ด๋ผ๋Š” ๊ฒƒ๋„ ๋ชฐ๋ž์ง€์š”).

๊ทธ๋Ÿฐ๋ฐ ๊ฒฐ๊ตญ ์ด๊ฑธ ๊ณต๋ถ€ํ•˜๊ณ , ๊ตฌํ˜„ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜์™ธ๋กœ ํ• ๋งŒํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์ €๋Š” ๋˜ ๋‹ค์‹œ ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ 6์ฃผ์ฐจ์— ์ €ํฌ ์ •๊ธ€์€ CS:APP ๊ต์žฌ 7,8,9์žฅ, ๊ทธ๋ฆฌ๊ณ  C์–ธ์–ด๋กœ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ €๋ฒˆ ์ฃผ ๋ชฉ์š”์ผ์˜ ์ฐจ์ฃผ๋ฐœ์ œ ์‹œ๊ฐ„์— ์ €ํฌ๊ฐ€ ์ผ์ฃผ์ผ๊ฐ„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ณผ์ œ๊ฐ€ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ผ๋Š” ๊ฒƒ์„ ๋“ค์—ˆ์„ ๋•Œ, ๊ทธ๋ฆฌ๊ณ  ์ €๊ฒŒ ์–ด๋–ค ๋ฌผ๊ฑด์ธ์ง€ ์›น์„ ํ†ตํ•ด ์ฐพ์•˜์„ ๋•Œ, ์ด๊ฑธ ์ง„์งœ๋กœ ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ์•ž์„ฐ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ €ํฌ ๊ต์œก๊ณผ์ • ํ™ˆํŽ˜์ด์ง€์— ์˜ฌ๋ผ์˜จ ์•„๋ž˜ ์˜์ƒ ๋‘ ํŽธ์„ ์ ‘ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์„ธ์ƒ์—. ๋ญ”๊ฐ€์š”? ์ž๋ฃŒ๊ตฌ์กฐ ํ•˜๋‚˜์— 70๋ถ„ ๊ทธ๊ฒƒ๋„ ๋ฐฐ์†์œผ๋กœ ๊ฒจ์šฐ ๋Š๋Š” ๊ฐ•์˜๋ผ๋‹ˆ...

์ €ํฌ๊ฐ€ ์ตœ์ดˆ์— ๋ฐ›์•˜๋˜ `rbtree.c` ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
RBT ํ”„๋กœ์ ํŠธ ๊ฒฝ๋กœ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

๊ตฌํ˜„์€ ๋‘˜์งธ ์น˜๊ณ  ์ผ๋‹จ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ตฌ๋™๋ถ€ํ„ฐ๊ฐ€ ํ•˜๋‚˜์˜ ์žฅ๋ฒฝ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „๊นŒ์ง€ ๋Œ๋ ธ๋˜ C ์ฝ”๋“œ๋“ค์€ ์ „๋ถ€ gcc (์†Œ์Šค์ฝ”๋“œ) -o (์‹คํ–‰ํŒŒ์ผ๋ช…) ์‹์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” ๊ทธ๊ฒŒ ๋จนํžˆ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด CS:APP 7์žฅ (๋ง์ปค)๋Š” ๋ฐ”๋กœ ์ด๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌํƒœ๊นŒ์ง€๋Š” gcc์— ๋Œ€ํ•ด '์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ค€๋‹ค' ์ •๋„์˜ ์• ๋งค๋ชจํ˜ธํ•œ ์ƒ๊ฐ์— ๊ทธ์ณ๋„ ๊ดœ์ฐฎ์•˜์ง€๋งŒ, ์ด๋ฒˆ RBT ํ”„๋กœ์ ํŠธ๋Š” ๊ทธ ์ •๋„ ์ดํ•ด๋กœ๋Š” ํ…Œ์ŠคํŠธ ๊ตฌ๋™์กฐ์ฐจ๋„ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

2021๋…„

์ด๋ฒˆ 6์ฃผ์ฐจ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ด€๋ จํ•˜์—ฌ ํŠน๋ณ„ํžˆ ๋ฐ›์•˜๋˜ ์ฃผ๋ฌธ์ด ํ•˜๋‚˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. "๋‹ค ์ƒ๊ด€์—†์œผ๋‚˜ LLM์„ ์ด์šฉํ•˜์ง€ ๋ง ๊ฒƒ"์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์น˜ 2021๋…„์ฒ˜๋Ÿผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๊ตฌํ˜„ํ•˜๊ณ , ๋””๋ฒ„๊น…ํ•˜๋ผ๋Š” ๊ฒƒ์ด ์ €ํฌ์˜ ๊ณผ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ์ด์™• ์ด๋ ‡๊ฒŒ ๋œ ๊ฑฐ, ์ตœ๋Œ€ํ•œ ์ˆ˜๋„์ฝ”๋“œ๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•˜์ž๋Š” ๊ฐœ์ธ์ ์ธ ๋ชฉํ‘œ๋„ ์„ธ์› ์Šต๋‹ˆ๋‹ค.

ํฐ ๋ฌธ์ œ์ผ์ˆ˜๋ก ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ

ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์œ„ ๊ฒฝ๋กœ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉฐ ๋ฌด์—‡๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„ ์€ ํ”„๋กœ์ ํŠธ ์ตœ์ƒ์œ„์˜ README.md๋ฅผ ์ฝ์—ˆ๊ณ , ๊ฐ .c ํŒŒ์ผ์— ๋ฌด์—‡์ด ๋“ค์—ˆ๋Š”์ง€, ๊ทธ ๋‹ค์Œ์€ .h์— ๋ฌด์—‡์ด ๋“ค์—ˆ๋Š”์ง€ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๊ฐ ํด๋”์— ์กด์žฌํ•˜๋Š” Makefile๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผ ํ•จ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ์ดํ›„ src์™€ test ํด๋”๋‚ด .c์™€ .h ํŒŒ์ผ๋“ค์ด ์ „๋ถ€ ๋‹ค ์˜์กด์„ฑ ์ˆœ์„œ์— ๋งž์ถ”์–ด ์ปดํŒŒ์ผ๋˜์–ด์•ผ๋งŒ ํ•œ๋‹ค๋Š” ๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด์ธ make๋ฅผ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ์จ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ตฌ๋™์„ ์œ„ํ•œ ๋งˆ์ง€๋ง‰ ํผ์ฆ์ธ make -C ๋ช…๋ น์–ด๋ฅผ ์–ป์–ด๋‚ด์—ˆ๊ณ , ์ฒซ ๊ตฌ๋™์— ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๊ตฌ๋™์—๋Š” ์„ฑ๊ณตํ–ˆ์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ๊ทธ๊ฒŒ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ๋ฅผ ์งœ์ฃผ์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ € ๋™์˜์ƒ ๊ฐ•์˜๋Š” ํ•œ์—†์ด ๊ธธ์—ˆ๊ณ , ๋ฐฐ์†ํŽธ์ง‘๋ณธ์ธ์ง€ ๋ง์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋น ๋ฅด๊ณ , ์ง‘์ค‘์€ ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ฑ…

Introductions to Algorithms. ์œ„ ์ด๋ฏธ์ง€๋Š” 3ํŒ.

๊ทธ๋Ÿฐ ์ €ํฌ๋ฅผ ๊ตฌํ•ด์ค€ ๊ฒƒ์€ ์˜์™ธ๋กœ ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์„ธ์›”์•„ ๋„ค์›”์•„ ๋“ฃ๋˜ ๊ฐ•์˜๋ฅผ ๋„๊ณ  ์œ„ ์ฑ…์„ ํŽด ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ ์ฑ•ํ„ฐ์˜ ๊ธ€์„ ์ฝ์œผ๋ฉฐ, ์ €๋Š” ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ ์ดํ•ดํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋„ ๊ทธ๋Ÿด ๊ฒƒ์ด, ์˜์ƒ ๊ฐ•์˜๋Š” ์ง‘์ค‘ํ•˜๊ธฐ ํž˜๋“ค๊ณ , ์˜จ๋ผ์ธ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ผ์˜ค๋Š” ๊ธ€๋“ค์€ ๋‹จํŽธ์ ์ผ ๋ฟ๋”๋Ÿฌ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋Œ€ํ•™์—์„œ ํ•˜๋˜ ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฒฐ๊ตญ ์ฑ…์„ ์ฝ์—ˆ๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฑ…๊ณผ ์˜จ๋ผ์ธ ์˜์ƒ ๊ฐ•์˜๋Š” ์ƒํ˜ธ ๋ณด์™„์ ์œผ๋กœ, ์ฑ…๋งŒ์œผ๋กœ๋Š” ์ดํ•ดํ•˜๊ธฐ ํž˜๋“  ํŠธ๋ฆฌ์˜ ์›€์ง์ž„์„ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์ ‘ํ•˜๋ฉฐ, ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ์— ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋ฅผ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊น…์— ์™•๋„๋Š” ์—†๋‹ค

๊ตฌํ˜„์€ ๊ตฌํ˜„์ด๊ณ  ๋””๋ฒ„๊น…์€ ๋””๋ฒ„๊น…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž…์€ ์‹œ์ž‘ ์ฒ˜๋ฆฌ, ๋ฐ˜๋ณต ์ผ€์ด์Šค 3๊ฐœ, ์ข…๋ฃŒ ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์‚ญ์ œ๋Š” ์‹œ์ž‘ ์ฒ˜๋ฆฌ, ๋ฐ˜๋ณต ์ผ€์ด์Šค 4๊ฐœ, ์ข…๋ฃŒ ์ฒ˜๋ฆฌ. "์ฑ…์—์„œ ์‹œํ‚ค๋Š” ๋Œ€๋กœ ์งœ๋ฉด ๋˜๊ฒ ๋„ค" ํ–ˆ๋Š”๋ฐ, ๋ง์€ ์‰ฝ์ง€, ๋ง‰์ƒ ์ž˜ ๋Œ์•„๊ฐ”๋ƒ๋ฉด, ๊ทธ๋ ‡์ง€๊ฐ€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋กœ ์œ„์™€ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ๋งˆ์ง€๋ง‰ ๊ด€๋ฌธ์ธ ๋žœ๋ค ํ‚ค ์‚ฝ์ž…, ๊ฒ€์ƒ‰ ๋ฐ ์‚ญ์ œ์—์„œ ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์ฐพ์•˜๋˜ ๋ฌธ์ œ๋Š” ๋…ธ๋“œ ์‚ญ์ œ ํ›„ fixupํ•˜๋Š” ๊ณผ์ •์ธ restoreEraseOrder์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ ์ฝ”๋“œ์—๋Š” ๋ฐ˜๋ณต๋ฌธ ์ง„์ž… ์ „์— '๋Œ€์ƒ์ด NIL์ด๋ฉด ์ฆ‰์‹œ ๋ฆฌํ„ด'ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋Š”๋ฐ, ์‚ฌ์‹ค ์ด๊ฒŒ ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ if๋ฌธ ํ•˜๋‚˜๊ฐ€ “me๊ฐ€ NIL ๋…ธ๋“œ์ธ ์ˆœ๊ฐ„ ์•„๋ฌด๊ฒƒ๋„ ์•ˆํ•˜๊ณ  ๋Œ์•„๊ฐ€” ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, ์ฑ…์—์„œ ์ œ์‹œ๋œ ์‚ญ์ œ ํ›„ fixup ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์š”๊ตฌํ•˜๋Š” “๋”๋ธ” ๋ธ”๋ž™ ์ „ํŒŒ” ๊ณผ์ •์„ ์•„์˜ˆ ์Šคํ‚ตํ•ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ nil ๋…ธ๋“œ(์ฆ‰ me == t->nil)๊ฐ€ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•  ๋ถ€๋ชจ ํฌ์ธํ„ฐ ์ฐธ์กฐ๋‚˜ ๋ฃจํŠธ๊นŒ์ง€ ์˜ฌ๋ผ๊ฐ€์„œ ๊ฒ€์ • ์ˆ˜๋ฅผ ์žฌ์กฐ์ •ํ•˜๋Š” ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ segmentation fault๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋‚˜๋งˆ ๋‹คํ–‰์ด์—ˆ๋˜ ์ ์€, ์ œ๊ฐ€ ํฌ์ธํ„ฐ ๊ด€๋ จ ๊ธ€์„ 4๊ฐœ์”ฉ ์จ๊ฐ€๋ฉฐ ์ •๋ฆฌํ•˜์—ฌ ๊ด€๋ จ ๊ฐœ๋…์„ ์ตํžŒ ๋•๋ถ„์—, ๊ทธ๋‚˜๋งˆ C ๋ฌธ๋ฒ•์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ์ด์Šˆ์— ์–ด๋ ค์›€์„ ๋œ ๊ฒช์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋œฉ์ด๋‚˜ RBT ์ž์ฒด๋„ ์–ด๋ ค์šด๋ฐ ์ด์— ๋”ํ•ด ๋ฉ”๋ชจ๋ฆฌ์ชฝ ๋ฌธ์ œ๋“ค๊นŒ์ง€ ์žก์•„์•ผ ํ–ˆ๋‹ค๋ฉด... ์ƒ์ƒ๋งŒ์œผ๋กœ๋„ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 

์ด๊ฒƒ ๋ง๊ณ ๋„ ๋””๋ฒ„๊น…์—์„œ ์ˆ˜๋งŽ์€ ๋‚œ๊ด€์ด ์žˆ์—ˆ์ง€๋งŒ ๊ฒฐ๊ตญ ๋‚ด๋ฆฐ ๊ฒฐ๋ก ์€ ํ•˜๋‚˜์˜€์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์—๋Š” ์™•๋„๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ฑ—GPT๋„ ์ด๋ฅผ ๋„์™€์ฃผ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ž‘ํ•ด์•ผ Visual Studio Code์˜ launch.json๊ณผ tasks.json์„ ์ž˜ ์ž‘์„ฑํ•ด์„œ GUI๋กœ ๋””๋ฒ„๊น…ํ•˜๋Š” ๊ฒƒ์ด ์ €ํฌ๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ '์‰ฌ์šด ๊ธธ'์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์‹ค ํ˜„์—…์—์„œ ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฅผ ์ ‘ํ•  ๋•Œ๋„ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค๋Š” ์ ์—์„œ (LLM์„ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ค์šธ ์ •๋„๋กœ ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ํฌ๊ฑฐ๋‚˜, ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์ด๊ฑฐ๋‚˜ ๋“ฑ), ์–ด๋–ค ์˜๋ฏธ๋กœ ํ˜„์žฅ๊ฐ์„ ๋‹ค์‹œ ๋А๋ผ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„๋Œ€์˜ ์ปดํ“จํŒ…์ด๋ž€ ์‹ค๋กœ ๋Œ€๋‹จํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—๋Š” 10000๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ, ์‚ฝ์ž…, ๊ฒ€์ƒ‰, ์‚ญ์ œํ•˜๋Š”๋ฐ, ์ €๋Š” ์ด๋ฅผ 1์–ต ๊ฐœ๋กœ ๋ฐ”๊พธ์–ด ์ž‘๋™์‹œ์ผœ๋ดค์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋Š” ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋œ๋‹ค๋‹ˆ, ์ ์ž–์ด ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ณผ์ œ๋ฅผ ์ฒ˜์Œ ๋งˆ์ฃผํ–ˆ์„ ๋•Œ์˜ ๋ง‰๋ง‰ํ•จ์€ ๊ธฐ์–ต์— ์„ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์–ด๋ ค์›€ ์†์—์„œ ์˜คํžˆ๋ ค ๋ฐฐ์›€์ด ๊นŠ์–ด์ง„๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋กœ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ก ์ ์œผ๋กœ๋‚˜ ์‹ค์ œ๋กœ๋‚˜ '๋ณต์žกํ•˜๋‹ค'๊ณ  ๋ง‰์—ฐํžˆ ์ƒ๊ฐํ–ˆ๋˜ ๊ทธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๊ณผ์ •์—์„œ, ๋ฌด์—‡์ด ์ง„์ •ํ•œ ํ•™์Šต์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•œ ๊นจ๋‹ฌ์Œ์€, ์–ด๋–ค ์–ด๋ ค์šด ๋ฌธ์ œ๋ผ๋„ ๊ฒฐ๊ตญ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์œ ํšจํ•˜๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Makefile ์ž‘์„ฑ๋ถ€ํ„ฐ, ์ž‘์€ ๋ฒ„๊ทธ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์žก์•„๊ฐ€๋Š” ๊ณผ์ •๊นŒ์ง€, ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์€ ์ €๋ฒˆ 1-4์ฃผ์ฐจ์˜ ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ๊นจ๋‹ซ๊ฒŒ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜„๋Œ€ ์ปดํ“จํŒ…์˜ ์œ„๋Œ€ํ•จ๊ณผ ๋™์‹œ์—, ๊ทธ ์œ„๋Œ€ํ•จ์„ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๊ฑด ๊ฒฐ๊ตญ ๊ธฐ๋ณธ์— ์ถฉ์‹คํ•˜๊ณ  ๊พธ์ค€ํžˆ ํ•œ ๊ฑธ์Œ์”ฉ ๋‚˜์•„๊ฐ€๋Š” ๊ฐœ๋ฐœ์ž์˜ ํƒœ๋„๋ผ๋Š” ๊ฒƒ์„ ๋‹ค์‹œ๊ธˆ ๋А๋ผ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋ ต์ง€๋งŒ, ๊ทธ๋งŒํผ ์˜๋ฏธ ์žˆ๊ณ , ์„ฑ์žฅํ–ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.