jikim1770
Students
835
Reviews
98
Rating
4.9
๊น์ ์ธ ๊ฐ์ฌ๋์ ์คํ์์ค๊ฐ ์ค์ํ๋ค๋ฉฐ
๋ฆฌ๋ ์ค ์ปค๋ ๋ฐ ๋ฅ๋ฌ๋์ ๊ตฌํ ์์ค๋ฅผ ์ทจ๋ฏธ ์ผ์ ๋งค์ผ ๋ถ์ ํ๋ ์คํ ์์ค ๋งค๋์ ์ ๋๋ค.
์์ค๋ฅผ ํตํด ์ดํด ํ๋ค๋ฉฐ ๋ฌด์์ ์์ค ๋ถ์์ผ๋ก ๋ชจ๋ ์๋ฆฌ๋ฅผ ์ดํดํ๋ ค ํ๋ฏ๋ก
์๊ฐ ์ ์์ค ํญํ์ ์ฃผ์ ํด์ผ ํฉ๋๋ค.
๊ฐ์๋ฌธ์ : jikim@imguru.co.kr
Courses
Reviews
- Linux System Programming
- Open Source Data Structures and Algorithms in C
- Debugging Linux Systems
- Debugging Linux Systems
Posts
Q&A
ํจ์ ๋ฉ๋ด์ผ์ ๋ณด๊ธฐ ์ํ ๋จ์ถํค
์๋ ํ์ธ์. fopen์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก ์น์ ๋ฒํธ 2๋ฒ ์ ๋๋ค. 2๋ฅผ ๋๋ ๋ค๊ฐ shifk+k๋ฅผ ๋๋ฅด๋ฉด ๋ฉ๋๋ค.
- 0
- 1
- 45
Q&A
17๋ถ 2์ด์
์๋ ํ์ธ์.๋ง์ํ์ ๋๋ก ์ค๋ช ์ด ์ ๋งค ํ๊ฒ ์๋ค์.hello, world #1๋ง ์ถ๋ ฅ๋๋ ์ด์ ๋ \n๊ฐ ์์ด์๊ฐ ์๋๋ผ msg1, msg2, msg3 ๊น์ง๋ ๋ฒํผ์ ์ฝ์์ง๋ง printf๊ฐ hello, world#1\0 ๊น์๋ง ์ฒซ๋ฒ์งธ ๋ฌธ์ฅ์ผ๋ก ํด์ํด์ ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์ด ๋ง์ต๋๋ค.printf("%s\n", inbuf) ๋ฌธ์์ \n๊ฐ ์์์ผ๋ฉด ์ ์ฒด๊ฐ ์์ฐํ์ผ ๋ง๋๋ฐ \n๊ฐ ์์ด์ ์ฒซ๋ฒ์งธ ๋ฌธ์ฅ๋ง ํ๋ฌธ์ฅ์ผ๋ก ์ธ์ํ์ฌ ์ถ๋ ฅ๋ ๊ฒ์ ๋๋ค.์ข์ ์ง์ ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 30
Q&A
ํน์ ๊ณ ๊ธ๊ณผ์ ์ ๊ฒฝ์ฐ ํ๋ฐ๊ธฐ ๋ช์์ฏค ๋์ฌ๊น์?
์๋ ํ์ธ์.๋ฆฌ๋ ์ค ์์คํ ํ๋ก๊ทธ๋จ ๊ณ ๊ธ ๊ณผ์ ์ ์ค๋น ์ค์ด๋ฉฐ ์ถ์๋ 11์~12์ ์ฌ์ด์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 48
Q&A
fputs์์ fwrite ๋ก ๋ณ๊ฒฝ ํ ๋ฒํผํ์ ์ด ํท๊ฐ๋ฆฌ๋๋ฐ์
์๋ ํ์ธ์.fputs๋ ๋ฌธ์์ด์ '\n'๊ฐ ๋์ค๋ฉด ๋ฒํผ๊ฐ ๋น์์ง๋ fflush๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ ๋๊ณ fwrite๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒํผ๊ฐ ๊ฝ ์ฑ์์ง์ง ์์ผ๋ฉด ์ถ๋ ฅ์ด ์๋๋ฏ๋ก fully ๋ฒํผ ๋ฐฉ์์ ์ฌ์ฉ ํฉ๋๋ค. ๋๊ฐ์ด stdout ์ผ๋ก ์ถ๋ ฅ ๋๋๋ผ๋ ๋ฒํผ๋ง์ ์ ํ ์๋ ์๊ณ , line buffered, fully buffered ๋ก ์๋๋๋๋ก library ์์ ๊ตฌํ ๋์ด ์์ต๋๋ค.
- 0
- 1
- 53
Q&A
ํน์ ๊ณ ๊ธ๊ณผ์ ๋ ์ถ์๊ฐ ๋๋์ง์?
์๋ ํ์ธ์.์์คํ ํ๋ก๊ทธ๋จ ๊ณ ๊ธ๊ณผ์ ์ 2025๋ ํ๋ฐ๊ธฐ ์ถ์ ์์ ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 98
Q&A
๊ฐ์ฌ๋ ํ์ ๊ฐ์
์์ง ๊ณํํ์ง ์๊ณ ์์ต๋๋ค.
- 0
- 1
- 115
Q&A
Insert_data์์ prev_tmp๋ฅผ ์ง์ ์ ๋, ์ฑ๋ฅํฅ์ ๊ธฐ๋ํ ์ ์์๊น์?
์๋ ํ์ธ์.tree ์ insert_data ํจ์์ ๊ฐ์ ๊ณผ์ ์ ๋ฌธ์ ํ์ ๊ฒ ๊ฐ์ต๋๋ค. ํด๋น ์์ค๋ฅผ ๋ณด๋ฉด if( root == 0 ) { root = temp; return; } while(p) { prev = p; if( p->data > data ) p=p->left; else if( p->data right; else return; } if( prev->data > data ) prev->left = temp; else prev->right = temp;์ ๋ถ๋ถ์ด ์๋์ ๊ฐ์ด ๋ฐ๋ ๊ฒ์ด๋ฏ๋ก while(*p) { if( (*p)->data > data ) p=&(*p)->left; else if( (*p)->data right; else return; } *p = temp;while ๋ฃจํ ์์ prev = p ๊ฐ ์ฌ๋ผ์ง ๊ฒ๊ณผ while ์๋ ์ชฝ์ if ~ else ๊ตฌ๋ฌธ์ด ์ฌ๋ผ์ง ๊ฒ์ด ์ฃผ์ ํฉ๋๋ค. while ๋ฃจํ ์์ ์ฝ๋ ์ญ์ ๋ log N ๋ฒ ์ด๋ผ ํ๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ์ฑ๋ฅ ํฅ์์ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ๋ํ While ์๋์ชฝ์ if ~ else ๋ํ while ์์ชฝ์ ์๋์ง๋ง insert_data ํจ์๊ฐ ์ฌ๋ฌ ๋ฒ ํธ์ถ ๋์์ ๋ ์ฑ๋ฅ์ ์ด์ ์ด ๋๋ฆฌ๋ผ ์๊ฐ ๋ฉ๋๋ค.
- 0
- 1
- 175
Q&A
tail๋ ธ๋์ ์ด์ & ๋ฉ๋ชจ๋ฆฌ ํ๋ง ๊ด๋ จ
์ง๋ฌธ ๋ด์ฉ์ ํญ๋ชฉ ๋ณ๋ก ๋ต๋ณ ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ํ๋ง์ ๊ทธ๋ ๋ค๋ฉด ์ฃผ๋ก ์ด๋์ ๋์ ์ฌ์ด์ฆ๋ฅผ ๊ฐ์ ํ ์ ์์๋๋ ์์คํ ์ ํธ๋ค๋ง ํ ์ ์๋ ์ต๋์น๋ฅผ ๋ฃ์ด ๊ตฌํํ๋ค๋ ๋ง์์ด์ ๊ฐ์?๊ทธ๋ ๋ค๋ฉด ๋ด๋ถ์ ์ผ๋ก ๋๋ฌด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง์๊ณ ๋ญ๋น๋์ด ํจ์จ์ฑ์ด ๋จ์ด์ง์ง ์๋์? ์ด๋ ์์ ์ ์จ์ผ ํ๋์ง์ ๋ํ ๋ถ๋ถ์ด ์ข ๋ช ํํ์ง์์, ์ด๋ค ์ํฉ์ ์จ์ผ ๋๋ ๊ธฐ๋ฒ์ธ์ง ๋ฌป๊ณ ์ถ์ต๋๋ค.๋ต๋ณ : ๋๋ถ๋ถ ์์คํ ์์๋ ๋ฉ๋ชจ๋ฆฌ ํ๋ง์ ์ต๋์น๋ฅผ ๊ด๋ฆฌ ํ๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด์์ฒด์ ์ ํ๋ก์ธ์ค์ ์ต๋์ 1024, ํ ํ๋ก์ธ์ค์์ ์คํ ๊ฐ๋ฅํ ํ์ผ์ 1024๋ฑ ๋๋ฌด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ญ๋น ํ์ง ์๋ ์ ์์ ์์คํ ์ ํ์ํ ์ต๋์๋ฅผ ๋ฉ๋ชจ๋ฆฌ ํ๋ง ํ๋ฉด ๋ฉ๋๋ค. 2๋ฒ์งธ๋ ํ tail ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ถ๋ถ์ ์์ด์ .... ์ ๋ง์ง๋ง ๋ ธ๋์ next๊ฐ NULL์ธ๊ฒ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ ์ง ์ดํด๊ฐ ์ ๋์ง ์์ต๋๋ค.for๋ฌธ์ด๋ while๋ฌธ์ผ๋ก loopํ์ฌ displayํ๋๊ฒ์ผ๋ก ๊ฐ์ ํ์๋ ๋ง์ง๋ง ๋ ธ๋ next๊ฐ 0์ด๊ฒ ๋๋ฉด ๋์ด์ ๋ฐ๋ณต๋ฌธ์ด ์คํ๋์ง์๊ณ ๋๋๊ฒ ๋๋ฉด์, NULL์ด ํ๋ฆฐํธ ๋์ง์๊ณ ๋์ค์ง์๋์?๋ต๋ณ : ํฌ์ธํฐ ๋ณ์ temp์ NULL์ด ๋ค์ด์จ ๊ฒฝ์ฐ ๊ทธ๋๋ก ์ญ์ฐธ์กฐ ํ๊ฒ ๋๋ฉด ํ๋ก์ธ์ค๊ฐ ๋ฐํ์ ์์์ ์ฃฝ๊ฒ ๋ฉ๋๋ค. NULL์ 0๋ฒ์ง๋ฅผ ์๋ฏธํ๊ณ 0๋ฒ์ง๋ฅผ ์ ๊ทผํ๋ฉด ์ด์์ฒด์ ๊ฐ ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ฃฝ๊ฒ ๋ง๋ญ๋๋ค. ์) temp->data ==> (*temp).data => (*0).data 0 ๋ฒ์ง๋ฅผ ์ฐธ์กฐํจ ์์๋ก for๋ฌธ ์ค๊ฐ์ ์ ์๋ฌด๊ฒ๋ ๊ธฐ์ ํ์ง ์๋ ๋ถ๋ถ๋ ์ด๋ป๊ฒ ์ปดํ์ผ์ ์งํ์ด๋๊ณ ์ธํฌ๋จผํธ๋กํดํธ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๊ฑธ๊น์? ๋ต๋ณ : for๋ฌธ ์ค๊ฐ์ ์กฐ๊ฑด๋ฌธ ์ด๋ฏ๋ก ์กฐ๊ฑด์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ ์๋ตํ ์ ์์ต๋๋ค. ์ปดํ์ผ๋ฌ๋ ์ด๋ฅผ ์๋ฌ ์ฒ๋ฆฌ ํ์ง ์์ต๋๋ค. ํ์ง๋ง for๋ฌธ์ ์กฐ๊ฑด์ ํต๊ณผํ๊ฒ๋๋ฉด ์์ ๋ต๋ณ ์ฒ๋ผ temp๊ฐ NULL ์ธ ๊ฒฝ์ฐtemp->data ๋ฌธ๋ฒ์์ ์ธํฌ๋จผํธ ํดํธ ์์ธ๊ฐ ๋ฐ์ ํ์ฌ ์ฃฝ๊ฒ ๋ฉ๋๋ค. ํน์ ์ ์๋ ๋ง์์ null๋ก ๋ง์ง๋ง node๊ฐ ์ค์ ๋์ง ์์ ์ฐ๋ ๊ธฐ๊ฐ์ด ์ค์ ๋์์๋๋ฅผ ๋ฐฉ์งํ๊ธฐ์ํด tail๋ ธ๋๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์์ ํ๊ฒ ์ค์นํ์๋ ๋ง์์ด์ค๊น์?๋ต๋ณ : tail์ ์ฌ์ฉํ์ฌ ์ข ๋ฃ ์กฐ๊ฑด์ ํ๋จ ํ๋ฉด NULL์ ๋ง๋์ง ์๊ฒ ๋์ด ํ๋ก์ธ์ค๊ฐ ์ฃฝ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. tail์ next๋ NULL๋ก ๋์ด ์์ง ์๊ณ ์์ ์ ๊ฐ๋ฆฌํค๊ธฐ ๋๋ฌธ ์ ๋๋ค.
- 0
- 2
- 268
Q&A
eval(repr(p)) ๊ฐ ์ง์ง Pair ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ง๋ ์ด์ ?
eval() ํจ์๋ string์ ์ด์๋ก ๋ฐ์ต๋๋ค. ์ด๋ string "Pair(3,4)" ๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. repr(p)๋ "Pair(3,4)"๋ฅผ ์ถ๋ ฅ ํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์, ํด๋น ํด๋์ค์ repr์ด ์ฌ์ ์ ๋์ด ์์ผ๋ฉด ์์ ๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๊ฒ ๋ฉ๋๋ค.
- 0
- 1
- 209
Q&A
์ปค๋ ๋ฒ์
์๋ ํ์ธ์. ์คํ์์ค ์๋ฃ๊ตฌ์กฐ ๋์์์ linux kernel 3.10์์ ์ ์ ๋์์ต๋๋ค. ๊ทธ๋์ kernel์ 5.0์ ์ง๋ ์ง๊ธ์ 6 version์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์๋ฃ๊ตฌ์กฐ/์๊ณ ๋ฆฌ์ฆ๋ ๋ง์ด ์ถ๊ฐ ๋๊ณ ๋ฐ์ ๋์์ต๋๋ค. ๊ณ์ ๋ฐ์ ํ๋ ์์ค๋ฅผ ๋ถ์ ์ค์ ์์ผ๋ฉฐ ์ถํ ๋๋ฒ์งธ ๊ฐ์๋ก ์ ์ํ ์์ ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 225








