๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

c์–ธ์–ด 8

[C์–ธ์–ด]์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๊ฑฐ๊พธ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ (์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค๊ธฐ)

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ฝ”๋“œ๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(linked list๋ฅผ ์ž˜ ๋ชจ๋ฅด์‹ ๋‹ค๋ฉด) modernalchemist.tistory.com/39?category=921458 [C์–ธ์–ด] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (linked list) linked representation ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ญ์ œ๋‚˜ ์‚ฝ์ž… ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„ ์ด ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„์€ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์—ฐ๊ฒฐ. ์ด๋Š” ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„ ์Šคํƒ ํ ๋“ฑ modernalchemist.tistory.com ์œ„์˜ ๊ธ€์„ ์ฝ๊ณ  ์˜ค์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ผ๋‹จ ์ฝ”๋“œ ๋จผ์ € ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ListNode* reverse(ListNode* head) { // ์ˆœํšŒ ํฌ์ธํ„ฐ๋กœ p, q, r์„ ์‚ฌ์šฉ Lis..

[C์–ธ์–ด] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ •ํ•œ ๊ฐ’ ํƒ์ƒ‰ํ•˜๊ธฐ(๋…ธ๋“œ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜)

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ๊ธฐ์กด์— ์ œ๊ฐ€ ์“ด ๊ธ€์„ ์ฝ์–ด๋ณด์‹œ๊ณ  ์˜ค์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. modernalchemist.tistory.com/39 [C์–ธ์–ด] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (linked list) linked representation ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ญ์ œ๋‚˜ ์‚ฝ์ž… ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„ ์ด ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„์€ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์—ฐ๊ฒฐ. ์ด๋Š” ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„ ์Šคํƒ ํ ๋“ฑ modernalchemist.tistory.com ๋…ธ๋“œ๊ฐ’ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„  ๋จผ์ € ํ—ค๋“œ ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋…ธ๋“œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋…ธ๋“œ๊ฐ€ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ ์ฐพ๋Š” ๊ฐ’์„ ๋น„๊ตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋งํฌ ๊ฐ’์ด NULL์ด๋ฉด ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋์— ๋„๋‹ฌํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ํƒ์ƒ‰์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฐ˜ํ™˜..

[C์–ธ์–ด] ๋‹จ์–ด๋“ค์„ ์ €์žฅํ•˜๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์„ ์„ค๋ช…๋“œ๋ฆฌ๊ธฐ ์ „์— ๋จผ์ € ์ €์˜ ํฌ์ŠคํŠธ๋ฅผ ์ฝ๊ณ ์™€์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. modernalchemist.tistory.com/39 [C์–ธ์–ด] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (linked list) linked representation ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ญ์ œ๋‚˜ ์‚ฝ์ž… ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„ ์ด ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„์€ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์—ฐ๊ฒฐ. ์ด๋Š” ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„ ์Šคํƒ ํ ๋“ฑ modernalchemist.tistory.com ๋‹จ์–ด๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ฝ”๋“œ๋Š” ์‰ฌ์šด๋ฐ์š”. ๊ธฐ์กด์— ์งฐ๋˜ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ์—์„œ typedef int element๋ฅผ ๋ฐฐ์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ์ฒด๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. typedef struct{ char name[100]; //๋‹จ์–ด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด } ele..

[C์–ธ์–ด] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (linked list)

linked representation ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ญ์ œ๋‚˜ ์‚ฝ์ž… ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋™ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„ ์ด ์—ฐ๊ฒฐ๋œ ํ‘œํ˜„์€ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋“ค์„ ์—ฐ๊ฒฐ. ์ด๋Š” ํŠธ๋ฆฌ ๊ทธ๋ž˜ํ”„ ์Šคํƒ ํ ๋“ฑ์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. linked list ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํฉ์–ด์ ธ ์žˆ๋Š” ์ž๋ฃŒ๋“ค์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋ฐฉ๋ฒ•์„ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(linked list)๋ผ๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น์—ฐ๊ฒฐ์€ ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉ ๊ธฐ์กด์˜ ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑํ•œ ๋ฆฌ์ŠคํŠธ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋“ค์„ ์˜ฎ๊ธธ ํ•„์š”์—†์ด ํฌ์ธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค. ์žฅ์  : ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณต๊ฐ„์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋™์ ์œผ๋กœ ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด์„œ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ. ์ด๊ฒƒ์€ ์ˆœ์ฐจ์ ์ธ ํ‘œํ˜„ ๋ฐฉ๋ฒ•์€ ๋ฐฐ์—ด์— ๋น„ํ•˜์—ฌ ์ƒ๋‹นํ•œ ์žฅ์ . ๋‹จ์  : ๋ฐฐ์—ด์— ๋น„ํ•˜์—ฌ ์ƒ๋Œ€์ ์œผ๋กœ ๊ตฌํ˜„์ด ์–ด๋ ต๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ธฐ ์‰ฌ์›€ ๋˜ํ•œ ..

[C์–ธ์–ด] ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•œ ๋ฆฌ์ŠคํŠธ

๋ฆฌ์ŠคํŠธ์˜ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ฆฌ์ŠคํŠธ๋Š” ์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘์˜ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ผ์ƒ์ƒํ™œ์—์„œ ํ• ์ผ... ๋ฒ„ํ‚ท๋ฆฌ์ŠคํŠธ.. ์š”์ผ.... ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์—๋Š” ํ•ญ๋ชฉ๋“ค์ด ์ฐจ๋ก€๋Œ€๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ๋“ค์€ ์šด์„œ ๋˜๋Š” ์œ„์น˜๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. L = (item0,item1,item2,....,itemn-1) ๋ฆฌ์ŠคํŠธ ADT ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์–ด๋–ค ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? - ๋ฆฌ์ŠคํŠธ์— ์ƒˆ๋กœ์šด ํ•ญ๋ชฉ ์ถ”๊ฐ€ (์‚ฝ์ž…, ์—ฐ์‚ฐ) - ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ ์‚ญ์ œ (์‚ญ์ œ ์—ฐ์‚ฐ) - ๋ฆฌ์ŠคํŠธ ํŠน์ • ํ•ญ๋ชฉ ๊ฒ€์ƒ‰(ํƒ์ƒ‰ ์—ฐ์‚ฐ) ์ด๋ฅผ ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๊ฐ„๋‹จํžˆ ๋ช‡๊ฐœ๋งŒ ์ •์˜ ํ•ด๋ณด๋ฉด - ๊ฐ์ฒด : n๊ฐœ์˜ elementํ˜•์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ˆœ์„œ ์žˆ๋Š” ๋ชจ์ž„ - ์—ฐ์‚ฐ: insert(list,pos,item)::= pos ์œ„์น˜์— ์š”์†Œ ์ถ”๊ฐ€ delete(l..

[์ž๋ฃŒ๊ตฌ์กฐ] counting sort ๊ณ„์ˆ˜์ •๋ ฌ

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์„ ํƒ, ๋ฒ„๋ธ”, ์‚ฝ์ž…, ํ€ต, ๋ณ‘ํ•ฉ, ํž™ ์ •๋ ฌ์˜ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•ด๋ณด์•˜๊ณ , ๊ฐ€์žฅ ๋นผ์šด ์ •๋ ฌ์€ O(N * log N)์ด ๋‚˜์˜ค๋Š” ํ€ต, ๋ณ‘ํ•ฉ, ํž™ ์ •๋ ฌ ์ด์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ณด๋‹ค ๋”์šฑ ๋น ๋ฅธ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š” ๋‹ค์Œ์˜ 3 ์ดํ•˜์˜ ๋ฐ์ดํ„ฐ ์ž์—ฐ์ˆ˜๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•˜์„ธ์š” 1 3 2 3 1 2 3 2 1 3 10๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ 3์•ˆ์— ์žˆ๋Š”๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์ด์ฒ˜๋Ÿผ ๋ฒ”์œ„์กฐ๊ฑด์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ํ•œํ•ด ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค. ์†๋„๋Š” O(N)์ž…๋‹ˆ๋‹ค. ๊ณ„์ˆ˜์ •๋ ฌ์€ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ๋ฉด ์–ด๋–จ๊นŒ? ๋ž€ ๋ฐœ์ƒ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์„ธ๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  1์ด๋ฉด arr[0]++ 3์ด๋ฉด arr[2]++ ์ด๋Ÿฐ์‹์œผ๋กœ ์ˆซ์ž๋ฅผ ์„ธ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ˆซ์ž์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์„ธ์งˆํ…Œ๊ณ  1์„ ar..

[c์–ธ์–ด]๋„ค๋ชจ ์ถœ๋ ฅํ•˜๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š” modernAlchemist์˜ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ c์–ธ์–ด์˜ ascii์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋„ค๋ชจ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 1์€ ์™ผ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ 6์€ ์ง์„  2๋Š” ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ 3์€ ์™ผ์ชฝ ํ•˜๋‹จ ๋ชจ์„œ๋ฆฌ 4์€ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๋ชจ์„œ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ํ˜•ํƒœ๋Š” ๊ธด ์ง์‚ฌ๊ฐํ˜•์˜ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ง์ ‘ ์ •์‚ฌ๊ฐํ˜•์„ ์ถœ๋ ฅํ•˜์—ฌ ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. #define _CRT_SECURE_NO_WARNINGS #include void printf_WaideRctangle(); int main(void) { //๋งค๊ฐœ๋ณ€์ˆ˜ x ๋ฐ˜ํ™˜๊ฐ’ x //์ •ํ•ด์ง„ 4๊ฐํ˜• ๋ชจ์–‘ ํ‘œ์‹œ printf int index; printf_WaideRctangle(); return 0; } void printf_WaideRctangle(void) { int index; pr..

[c์–ธ์–ด] ์žฌ๊ท€ํ•จ์ˆ˜ ํŒฉํ† ๋ฆฌ์–ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•ˆ๋…•ํ•˜์„ธ์š” modernAlchemist ์˜ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒฉํ† ๋ฆฌ์–ผ์ด๋ž€ 5! = 5*4*3*2*1 ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ n๋ถ€ํ„ฐ 1์”ฉ ๋นผ์„œ 1๊นŒ์ง€ ๊ณฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ์‹์„ ์žฌ๊ท€ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. int fact(int a) { int result =0; printf("result %d\n",result); if (a == 1) { result = 1; } else { result = a * fact(a - 1); } return result; } ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์„ for๋ฌธ์œผ๋กœ ์ด์šฉํ•ด๋ณด์ž๋ฉด int forFact(int n) { int index; int result = 1; for (index = n; index >= 1; index--) {..