
C๋ก ๊ตฌํํ๋ ์๋ฃ๊ตฌ์กฐ์ฌํ๊ป ์ ๊ฐ ๋ ๋-๋ธ๋ ํธ๋ฆฌ๋ฅผ ๋ฐฐ์ฐ๊ฒ ๋๋ฆฌ๋ผ๊ณ ๋ ์๊ฐ์ ํ ์ ์ด ์์์ต๋๋ค. ๋๊ตฌ๋ C๋ก ์ง๋ฆฌ๋ผ๊ณ ๋ ์์๋ ๋ชปํด๋ดค์ต๋๋ค. ์ ๊ฒ ๋ ๋-๋ธ๋ ํธ๋ฆฌ๋ ์ค์ ๋ฆฌ๋ ์ค, ์๋ฐ ๋ฑ ํ์ ์์ ์ฐ์ด๋ ๋ณต์กํ ์๋ฃ๊ตฌ์กฐ์ด๋ค, ์ ๋์ ํฌ๋๋ฌด๋ ํ ์ด๋ฏธ์ง๋ง์ด ์์์ต๋๋ค (์ด๊ฒ BST์ ์ผ์ข ์ด๋ผ๋ ๊ฒ๋ ๋ชฐ๋์ง์).๊ทธ๋ฐ๋ฐ ๊ฒฐ๊ตญ ์ด๊ฑธ ๊ณต๋ถํ๊ณ , ๊ตฌํํ๊ณ , ํ ์คํธ๊น์ง ๋๋์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ธ๋ก ํ ๋งํ๋ค๋ ์ ์์ ์ ๋ ๋ ๋ค์ ๋๋์ต๋๋ค. ์ด๋ฒ 6์ฃผ์ฐจ์ ์ ํฌ ์ ๊ธ์ CS:APP ๊ต์ฌ 7,8,9์ฅ, ๊ทธ๋ฆฌ๊ณ C์ธ์ด๋ก ๋ ๋-๋ธ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌํํ์์ต๋๋ค. ์ ๋ฒ ์ฃผ ๋ชฉ์์ผ์ ์ฐจ์ฃผ๋ฐ์ ์๊ฐ์ ์ ํฌ๊ฐ ์ผ์ฃผ์ผ๊ฐ ๊ตฌํํด์ผ ํ ๊ณผ์ ๊ฐ ๋ ๋-๋ธ๋ ํธ๋ฆฌ๋ผ๋ ๊ฒ์ ๋ค์์ ๋, ๊ทธ๋ฆฌ๊ณ ์ ๊ฒ ์ด๋ค ๋ฌผ๊ฑด์ธ์ง ์น์ ํตํด ์ฐพ์์ ๋, ์ด๊ฑธ ์ง์ง๋ก ๋ด..

๊ณต์ ์น์ฌ์ดํธhttps://pintos-os.org/ ๊ณต์ ๋ฌธ์์ต์ด ๋ฆด๋ฆฌ์ฆ ๋น์ PDF: https://www.scs.stanford.edu/09wi-cs140/pintos/pintos.pdfPPT (SIGCSE2009): https://pintos-os.org/SIGCSE2009-Pintos.pdf ๊ณต์ ์ค๋ฌ๋ฒ์ค์คํ ํฌ๋ ๋ํ CS 140 (็พ CS 112/212): https://cs140.scs.stanford.edu/์ต๊ทผ ๋ฌธ์ (Winter 2024 CS 212): https://www.scs.stanford.edu/24wi-cs212/pintos/pintos.html Git ํด๋ก ์ปค๋งจ๋ (w/ ๋ ํฌ ์ฃผ์)git clone git://pintos-os.org/pintos-anon๋๋git clone..

์์ฝ๊ฒ๋ ์ด Rbt.๊ฐ ์๋๋๋ค.0. ๋ชฉ์ฐจ๋๋ณด๊ธฐ1. ๊ฐ๋ ์ ์2. ๋ ๋-๋ธ๋ ํธ๋ฆฌ์ ๊ท์น 5๊ฐ์กฐ3. ๋ ๋-๋ธ๋ ํธ๋ฆฌ์ ๋ ธ๋ ์ฝ์ 4. ๋ ๋-๋ธ๋ ํธ๋ฆฌ์ ๋ ธ๋ ์ญ์ 5. ๋ ๋-๋ธ๋ ํธ๋ฆฌ์ ๋ ธ๋ ๊ฒ์6. ๊ธฐํ ํน์ง7. ์ฐธ๊ณ ๋ฌธํ1. ๊ฐ๋ ์ ์๋ ๋-๋ธ๋ ํธ๋ฆฌ (Red-Black Tree, RBT)๋ ์ด์ง ํ์ ํธ๋ฆฌ(BST)์ ์ผ์ข ์ผ๋ก, ๋ ธ๋๋ง๋ค ์ (่ตค)๋๋ ํ(้ป)์์ ๋ง์ ํ ๊ท ํ์ ์ ์งํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฝ์ , ์ญ์ , ๊ฒ์์ด ์ต์ ์ ๊ฒฝ์ฐ์๋ O(log n)์ ๋ณด์ฅํฉ๋๋ค.๋ ๋-๋ธ๋ ํธ๋ฆฌ์ ๋ ํนํ ํน์ง ์ค ํ๋๋ก NIL ๋ ธ๋๊ฐ ์์ต๋๋ค. RBT์์ ๋ชจ๋ ๋ฆฌํ ๋ ธ๋๋ NIL ๋ ธ๋๋ก ๋์ฒด๋ฉ๋๋ค. ์ฆ, ํธ๋ฆฌ๋ด ๋ชจ๋ ๋ฆฌํ๋ NULL์ด ์๋๋ผ (์ฆ, ๊ทธ๋ฅ ๋น์๋๋ ๊ฒ ์๋๋ผ) NIL ๋ ธ๋๊ฐ ๋๋๋ก ํฉ๋๋ค. ์ค์ ..

Unused์ C์ธ์ด ํฌ์ธํฐ ์๋ฆฌ์ฆํฌ์คํธURLC์ธ์ด์ ํฌ์ธํฐ (๊ธฐ์ด)https://unused.tistory.com/221C์ธ์ด์ ํฌ์ธํฐ ์ดํด: ์ ์ธ์ผ๋ก์์ *, ์ฐ์ฐ์๋ก์์ *https://unused.tistory.com/217C์ธ์ด์ ๋ฐฐ์ด๊ณผ ํฌ์ธํฐhttps://unused.tistory.com/220C์ธ์ด์ ๋ค์ค ํฌ์ธํฐhttps://unused.tistory.com/215 ์ธํธ๋กํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ์ ํ๋ฉด “๋ณ์(์ ๊ทธ๋ฆผ์ โ )”๋ ์ต์ํ์ง๋ง, “ํฌ์ธํฐ(์ ๊ทธ๋ฆผ์ โก)”๋ ๊ฐ๋ ์ ๋ฏ์ค๊ณ ์ด๋ ต๊ฒ ๋๊ปด์ง๋๋ค.๊ทธ๋ฐ๋ฐ ์ฌ์ค, ํฌ์ธํฐ ๊ฐ๋ ์์ฒด๋ ์ด๋ ค์ธ ๊ฒ ์์ต๋๋ค. ํฌ์ธํฐ๋ “๋ฉ๋ชจ๋ฆฌ์ ํน์ ์ฃผ์๋ฅผ ์ ์ฅํ ๋ณ์”์ ๋ถ๊ณผํ๊ฑฐ๋ ์. ๋ฌธ๋ฒ์ ์ผ๋ก ์ข ํท๊ฐ๋ฆฌ๊ฒ ๋์ด ์์ ๋ฟ์ ๋๋ค (์ด๋ฒ ํฌ์ธํฐ ์๋ฆฌ์ฆ ์ ๋ฆฌํ๋ฉด์ ๋๋ ๊ฐ..

Unused์ C์ธ์ด ํฌ์ธํฐ ์๋ฆฌ์ฆํฌ์คํธURLC์ธ์ด์ ํฌ์ธํฐ (๊ธฐ์ด)https://unused.tistory.com/221C์ธ์ด์ ํฌ์ธํฐ ์ดํด: ์ ์ธ์ผ๋ก์์ *, ์ฐ์ฐ์๋ก์์ *https://unused.tistory.com/217C์ธ์ด์ ๋ฐฐ์ด๊ณผ ํฌ์ธํฐhttps://unused.tistory.com/220C์ธ์ด์ ๋ค์ค ํฌ์ธํฐhttps://unused.tistory.com/215์ ์ด๋ฏธ์ง์ for๋ฌธ์ ํ๋ฒ ๋ณด์์ง์. ํ์ ์ง๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด์ง ์์ผ์ ๊ฐ์? C์ธ์ด์์๋ ๋ฐฐ์ด์ด ๊ณง ํฌ์ธํฐ์ฒ๋ผ ๋์ํ๊ธฐ์ ๊ฐ๋ฅํฉ๋๋ค.int arr[5] = {10, 20, 30, 40, 50};int *p = arr; // p๋ arr์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ฌ๊ธฐ์ arr์ ๋ฐฐ์ด ์ ์ฒด๋ฅผ ์๋ฏธํ์ง๋ง, ๋๋ถ๋ถ์ ๋ฌธ๋งฅ์์..

Windows 11์์๋ถํฐ๋ WSLg์ ๋์ ์ผ๋ก GUI ์ฑ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋ฉ๋๋ค. ๊ทธ๋์ ๊ฐ๋จํ sudo apt firefox ๊ฐ์ ์ปค๋งจ๋๋ฅผ ์น๊ณ ์ค์น ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ ๋ค firefox๋ฅผ ์ ๋ ฅํ๋ฉด ์ง์ ํ๊ณ ํ์ด์ดํญ์ค๊ฐ GUI๋ก ์ผ์ง๋ ๋ง๋ฒ์ด ์ผ์ด๋ฉ๋๋ค. (Windows 10๋ ๋ช ๋จ๊ณ ์ ์ฐจ๋ง ๊ฑฐ์น๋ฉด ๊ฐ๋ฅํฉ๋๋ค)ํ์ง๋ง ์ ์ด๋ฏธ์ง์ ๊ฐ์ด libEGL ๊ด๋ จ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ฟ์ผ๋ฉฐ ํ์ฐธ ๋ค์ ์คํ์ด ๋๊ฑฐ๋ ์์ ์ฐฝ์ด ๋จ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.acc@testshell:~$ gnome-system-monitorlibEGL warning: DRI3: Screen seems not DRI3 capablelibEGL warning: DRI3: Screen seems not DRI3 capableMESA: error:..
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค. ๋ด์ฉ์ ๋ณด์๋ ค๋ฉด ๋น๋ฐ๋ฒํธ๋ฅผ ํด์ฃผ์ธ์.

Unused์ C์ธ์ด ํฌ์ธํฐ ์๋ฆฌ์ฆํฌ์คํธURLC์ธ์ด์ ํฌ์ธํฐ (๊ธฐ์ด)https://unused.tistory.com/221C์ธ์ด์ ํฌ์ธํฐ ์ดํด: ์ ์ธ์ผ๋ก์์ *, ์ฐ์ฐ์๋ก์์ *https://unused.tistory.com/217C์ธ์ด์ ๋ฐฐ์ด๊ณผ ํฌ์ธํฐhttps://unused.tistory.com/220C์ธ์ด์ ๋ค์ค ํฌ์ธํฐhttps://unused.tistory.com/215 ์ธํธ๋ก์๋์ ๊ฐ์ C ์ฝ๋๊ฐ ์์ต๋๋ค.void main() { int value = 123; int *ptr1 = &value; printf("*ptr1: %d\n", *ptr1); // ์ถ๋ ฅ ๊ฒฐ๊ณผ 123 *ptr1 = 456; printf("*ptr1: %d\n", *ptr1); // ์ถ๋ ฅ ๊ฒฐ๊ณผ 4..
git rm -r --cached .git add .git commit -m "untrack files contained in the .gitignore file"๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ์์ .gitignore ํ์ผ์ ํฌํจ๋ ์ถ์ ๋ ํ์ผ์ ์ ๊ฑฐํ์ธ์. ์์ ๊ฐ์ด "git rm"์ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ์ ์ ๊ฑฐ ๋ฐ ์ถ์ ํด์ ํ๊ณ , "git add"๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ์ผ์ ๋ค์ ์ถ๊ฐํ ๋ค์(.gitignore ํ์ผ์ ํฌํจ๋ ํ์ผ์ ์ถ๊ฐ๋์ง ์์) ๋ง์ง๋ง์ผ๋ก ๋ณ๊ฒฝ ๋ด์ฉ์ ์ปค๋ฐํฉ๋๋ค.์ฐธ๊ณ : https://medium.com/sela-devops-team/gitignore-doesnt-work-e1566845d30a My .gitignore doesn’t workIn this post we will ..

Unused์ C์ธ์ด ํฌ์ธํฐ ์๋ฆฌ์ฆํฌ์คํธURLC์ธ์ด์ ํฌ์ธํฐ (๊ธฐ์ด)https://unused.tistory.com/221C์ธ์ด์ ํฌ์ธํฐ ์ดํด: ์ ์ธ์ผ๋ก์์ *, ์ฐ์ฐ์๋ก์์ *https://unused.tistory.com/217C์ธ์ด์ ๋ฐฐ์ด๊ณผ ํฌ์ธํฐhttps://unused.tistory.com/220C์ธ์ด์ ๋ค์ค ํฌ์ธํฐhttps://unused.tistory.com/215 C์ธ์ด์์ ํฌ์ธํฐ๋ ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ง์ ๋ค๋ฃจ๋ ์ค์ํ ๊ฐ๋ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํฌ์ธํฐ๋ฅผ ๋ค๋ฃจ๋ค ๋ณด๋ฉด ๋ณ์ด 2๊ฐ ์ด์, ์ฆ ๋ค์ค ํฌ์ธํฐ๋ฅผ ์จ์ผ๋ง ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ค๋ฃจ๊ฑฐ๋, ํจ์์์ ํฌ์ธํฐ ์์ฒด๋ฅผ ์์ ํ ๋ ๋ค์ค ํฌ์ธํฐ(pointer to pointer)๊ฐ ํ์ํฉ๋๋ค.์ด๋ฒ ํฌ์คํธ์์๋ ํฌ์ธํฐ(*) ..

WIL: Weekly I Learned; ๋๋ What I Learned This Week์ปดํจํ ์ ์ฌ๊ณ ๋ก ์ ํํ๋ค์๊ฐ์ด ์ ๋ง ๋น ๋ฆ ๋๋ค. ๋ฏธ๋ํ๋ก์ ํธ ๋๋ ๊ฒ ์๊ทธ์ ๊ฐ์๋ฐ ๋ฒ์จ 4์ฃผ์ฐจ๊ฐ ์ง๋๊ฐ ์์ต๋๋ค. ๋ฐฅ ๋จน๊ณ ๋ฐฑ์ค๋ง ํ๊ธฐ๋ฅผ 4์ฃผ, ์ด๋ก์จ ์ ํฌ๋ "์ปดํจํ ์ฌ๊ณ ๋ก์ ์ ํ"์ 1-4์ฃผ์ฐจ๋ฅผ ๋๋ง์น๊ฒ ๋์์ต๋๋ค. ์ด๋ฒ 1-4์ฃผ์ฐจ์์ ๋ฐฐ์ด ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ๋๋ต 3๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.์๋ฃ๊ตฌ์กฐ: ์คํ, ํ, ์ฐ์ ์์ ํ, ๋ฑ (double-ended queue), ๋ฆฌ์คํธ, ๋งํฌ๋ ๋ฆฌ์คํธ, ํด์ ํ ์ด๋ธ ๊ทธ๋ํ (๋ ธ๋, ์์ง, ๊ฐ์ค์น, ๋ฐฉํฅ์ฑ ๋ฑ), ํธ๋ฆฌ, Trie, B-ํธ๋ฆฌ (B-Tree)์๊ณ ๋ฆฌ์ฆ:๊ธฐ์ด (์ ์๋ก , ๋ฐฐ์ด, ๋ฌธ์์ด), ์๊ฐ๋ณต์ก๋, ๋ฐ๋ณต, ์ฌ๊ท, ์ ๋ ฌ, ์์ ํ์ DFS, BFS, Disjoint Se..

๋ฌธ์ ์ค๋ฅ ๋ด์ฉ:MoTTY X11 proxy: No authorisation providedError: cannot open display: localhost:10.0๊ธฐ๋ณธ์ ์ผ๋ก MobaXterm์ X11์ ํตํด ์๋์ผ๋ก GUI ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ snap๋ก ์ค์น๋ ํ์ด์ดํญ์ค ๋ฑ ์ผ๋ถ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ค๋ฅ๋ฅผ ์ผ์ผํค๋ฉฐ ์คํจํ๊ธฐ๋ ํฉ๋๋ค. ๊ฐ์ ์ด๋, ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์๋ํด๋ณผ ์ ์์ต๋๋ค.1. ์ฐ์ ๋ณธ์ธ์ด ํ์ฌ sudo ์ํ๋ ์๋์ง ํ์ธํฉ๋๋ค. ์ผ๋ฐ ๊ณ์ ์ผ๋ก ์ ์ํ ์ํ์ฌ์ผ GUI ํ๋ก๊ทธ๋จ์ ์ด์ฉํ ์ ์์ต๋๋ค. ์ผ๋ฐ ๊ณ์ ์ผ๋ก ํ์ถํ ๋ค ์๋ํด๋ด ๋๋ค.2. ๊ทธ๋๋ ์๋๋ค๋ฉด, ์ผ๋ฐ ๊ณ์ ์ธ ์ํ์์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์ณ๋ด ๋๋ค.$ xauth add :0 . `mcookie`..