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

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

์ฐธ๊ณ : ์ฒจ๋ถํ์ผ ์์๋๋ก 720K ์ด๋ฏธ์ง, 1.44M ์ด๋ฏธ์ง, ZIP ์์ถ ํ์ผ์ ๋๋ค. ์์ถ ์ํธ 123VirtualBox ๋ฑ ํ๊ฒฝ์์ MS-DOS ์ค์น ์ CD-ROM ๋๋ผ์ด๋ฒ๊ฐ ๋๋ฝ๋๋ ํ์์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด D:๋ฅผ ์ ๋ ฅํด๋ "ํด๋น ๋๋ผ์ด๋ธ๊ฐ ์์ (Invalid drive specification)"์ด๋ผ๋ ๋ฉ์์ง๊ฐ ๋จ๋ฉฐ ๋ง์ดํธ๋ CD๊ฐ ์ธ์๋์ง ์์ต๋๋ค.์ด๋ ๋๋ผ๋ ์ฌ๋งํด์๋ ํ๋กํผ ๋์คํฌ ๋๋ผ์ด๋ธ๋ ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฒจ๋ถ๋ IMA ํ์ผ์ ๋ง์ดํธํ์ฌ A:๋ก ์ ๊ทผํ ๋ค ์๋ ๋ฐฉ๋ฒ๋๋ก CD-ROM ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํ ์ ์์ต๋๋ค. 1. ๋๋ผ์ด๋ฒ๋ฅผ ์ํ ๋๋ ํ ๋ฆฌ ์์ฑC:\> MD CDDRIVER2. ๋๋ผ์ด๋ฒ ํ์ผ์ ์ ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌA:\> COPY OAKCDROM.SYS C:\CDDRIVERA..

ํ์์๋์ฐ 11์ ์ฌ๋ผ์ค๋ฉด์ ์ฐฝ์ ๋ ๋๋ง๋ค ์์๊ณผ ๊ฐ์ด ์๋จ ์ค์์ ๋ญ๊ฐ ํ๋์ฉ ๋จ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฐ์ค ์ปค์๊ฐ ๊ทธ์ชฝ์ผ๋ก ๊ฐ๋ฉด ์ฐฝ์ ์ฌ์ด์ฆ, ๋ฐฐ์น๊ฐ ์ ํด์ง ๊ท์น๋๋ก ๋ณํฉ๋๋ค.์ด๋ ์ฌ์ค ์ต๊ทผ์ ๋์ ๋ "์ค๋ ๋ ์ด์์"์ด๋ผ๋ ๊ธฐ๋ฅ์ผ๋ก, ์์ ๋ณด๋ค์ํผ ์ ํด์ง ๋ ์ด์์์ ๋ฐ๋ผ ์ฐฝ๋ค์ ๊ฐ์ง๋ฐํ ๋ฐฐ์ดํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. ํ์ง๋ง ์ด๋ฅผ ์ค์ ํ์ฉํ๋ ๊ฒฝ์ฐ๋ณด๋ค ์๋์น ์์ ๋์์ ์ผ์ผํค๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์ ์ ์์ต๋๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ์ด "์ค๋ ๋ ์ด์์"์ ๋นํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ ๋จผ์ , PC ์ค์ ์ผ๋ก ๋ค์ด๊ฐ๋๋ค (์ ์ดํ ์๋๋๋ค). ํ๊ตญ์ด ์๋์ฐ์ ๊ฒฝ์ฐ ์์ ๋ฉ๋ด์์ "์ค์ "์ ์ฐพ์ผ์๋ฉด ๋ฉ๋๋ค.์์คํ > ๋ฉํฐํ์คํน ํญ๋ชฉ์ผ๋ก ๋ค์ด๊ฐ๋๋ค.์๋์ฐ ์ค๋ (Snap windows) ํญ๋ชฉ์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ..

WIL: Weekly I Learned; ๋๋ What I Learned This Week4์์ ์ ๊ธ์ ๊ฑฐ์ง๋ง์ง๋ 2์ฃผ์ฐจ WIL์ ์์ฑํ๊ธฐ๊ฐ ๋ฌด์ญ๊ฒ ์ ๊ธ์ด ๋ ๋ค์ ๋๋ฐญ์ด ๋์์ต๋๋ค. ์ ๋ ๋์ ์ฐธ ์ข์ํ์ง๋ง, ๊ทธ๋ผ์๋ ์ ํฌ ๋ฐ ์น๊ตฌ๊ฐ ์ด์ผ๊ธฐํ ๊ฒ๊ณผ ๊ฐ์ด ์ง๊ธ ์ฝ๋ฉ์ ํ ๋๊ฐ ๋ง์๊น?๋ผ๋ ์๊ฐ์ด ๋ค๊ธฐ๋ ํ๋ ์ฃผ์์ต๋๋ค. ๊ธฐํ ๋ณํ๋ ์ฐธ ๋ฌด์์ด ๊ฒ์ ๋๋ค.๋ฐฅ๋ง ์ ๋จน๋๋ผํฌ๋ํํค์ ๊ตฌ๋ด์๋น์ด ์์ฃผ ์ ๋์ค๋ ๊ฒ์ผ๋ก ์ ํ์ด ๋ ์์ต๋๋ค. ์ ์ ๋น์ ๊ทธ๊ฑธ ๋ชจ๋ฅด๋ ๊ฒ์ ์๋์์ง๋ง, ์ ๊ฐ ๊ฐ๋ ๊ณณ์ ํฌ๋ํํค ๋ณธ์ฌ๊ฐ ์๋ ์ ๊ธ ์บ ํผ์ค์ด๋, ์ฌ์ค ํฐ ๊ธฐ๋๋ ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์ 3์ฃผ์ฐจ๋ฅผ ๋๊ธฐ๋ ์ด ์์ ์์ ์ ๊ฐ ๋จ๊ธธ ์ ์๋ ๋ง์, ์ฌ๊ธฐ ๋ฐฅ๋ ์๋นํ ๋ง์๋ค์ ๋๋ค. ์ ์ ์ฒซ ๋ฉฐ์น ๊ฐ์ ์ผ๋ถ ๋ฉ๋ด๊ฐ (์ ์ ๋ง์๋) ..

WIL: Weekly I Learned; ๋๋ What I Learned This Week2์ฃผ์ฐจ์ ๋๋ค. ์จ ์ง 3๊ฐ์์ ๋ ๋ฏํ๋ฐ ํ์ค์ 2์ฃผ์ฐจ WIL์ ์์ฑํ๊ณ ์์ต๋๋ค. 2์ฃผ์ฐจ์ ์ ํฌ๊ฐ ํํํ ๋ด์ฉ์ ํฌ๊ฒ ์ธ ๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.์๋ฃ๊ตฌ์กฐ:์คํํ์ฐ์ ์์ ํ๋ฑ (double-ended queue)๋ฆฌ์คํธ๋งํฌ๋ ๋ฆฌ์คํธํด์ ํ ์ด๋ธ์๊ณ ๋ฆฌ์ฆ:์ด๋ถํ์๋ถํ ์ ๋ณต๋ง์ง๋ง์ผ๋ก CS:APP ์ฑ ์์๋ ์ฑํฐ 1 (๊ฐ์)์ ์ ์ฅ์ฅ์น ๊ณ์ธต๊ตฌ์กฐ(๋ ์ง์คํฐ-์บ์-๋ฉ๋ชจ๋ฆฌ-์คํ ๋ฆฌ์ง)์ OS์ ํ๋์จ์ด ๊ด๋ฆฌ ๊ด๋ จํ ๋ถ๋ถ์ ์ฝ์์ต๋๋ค.์ฌ์ฌ 2์ฃผ์ฐจ์ฏค ๋๋ ๊ณต๋ถ์ ํจํด์ด ์กํ๊ธฐ ์์ํ์ต๋๋ค. ์ํ์ ์น๋ฅธ ๋ชฉ์์ผ๋ถํฐ ํ ์์ผ๊น์ง๋ ์ฐจ์ฃผ ๊ฐ๋ ์์ฃผ๋ก ๊ณต๋ถํ๊ณ ๋์ด๋ 'ํ'๋ '์ค'์ ํด๋นํ๋ ๋ฌธ์ ๋ฅผ ํผ ๋ค, ์ผ์์ผ๋ถํฐ ์์์ผ๊น์ง ๋ณธ๊ฒฉ์ ์ธ ๋ฌธ์ ๋ค์ ..

์ด๋ถ ํ์(binary search)๋, ์ด๋ค ๋ฐฐ์ด๊ณผ ์ฐพ๊ณ ์ ํ๋ ์๊ฐ ์์ ๋, ์ฐพ๊ณ ์ ํ๋ ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฉฐ ๋น ๋ฅด๊ฒ ํด๋น ๊ฐ์ ์์น๋ฅผ ์ฐพ์๋ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ์์ฃผ ๋ฑ์ฅํ๋ ๋ํ์ ์ธ ํ์ ๊ธฐ๋ฒ์ผ๋ก, ๋จ์ํ ์ ๋ ฌ ๋ฐฐ์ด ํ์๋ถํฐ, ๊ฒฝ๊ณ๊ฐ ์ฐพ๊ธฐ, ์์ฉ ๋ฌธ์ ๊น์ง ๋งค์ฐ ๋ค์ํ ํํ๋ก ์ถ์ ๋ฉ๋๋ค. ๋งค ๋ฐ๋ณต๋ง๋ค ๊ฒ์ ๋ฒ์๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ด๊ธฐ์ O(log n)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค. ๋ค๋ง, ๊ฐ์ ๋์๋ฅผ ๋น๊ตํ๋ฉฐ ๋ฒ์๋ฅผ ์ก๊ธฐ์ ๋ฐฐ์ด์ด ๋ฐ๋์ ์ ๋ ฌ๋จ์ ์ ์ ๋ก ํฉ๋๋ค.๊ตฌํ: ๋ฐ๋ณต vs. ์ฌ๊ท์ด๋ถ ํ์์ ๋จผ์ ์์ ์ธ๋ฑ์ค์ ๋ ์ธ๋ฑ์ค๋ฅผ ์ก๊ณ , ๊ทธ ๋์ ์ค๊ฐ (๋๋ ์ ๋๋ ๋จ์ด์ง ๊ฒฝ์ฐ ํ ์นธ ์ผ์ชฝ) ์ธ๋ฑ์ค๋ฅผ ์ก๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํํ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ ๋๊น์ง ์์, ์ค๊ฐ, ๋ ์ธ๋ฑ์ค๋ฅผ..

Python์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถํ ๋ ๋์น ์ ์๋ ๊ฐ๋ ๋ค ์ค ํ๋๊ฐ ๋ฐ๋ก ์ปดํ๋ฆฌํจ์ (comprehension)๊ณผ ํํ์(expression)์ ๋๋ค. Python์์๋ ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ list comprehension, generator expression, conditional expression(์ผํญ ์ฐ์ฐ์) ๋ฑ์ ์ ๊ณตํ์ฌ, ์ ์ ํ๊ฒ ์ฌ์ฉ ์ ์ฑ๋ฅ(์คํ์๋)๊ณผ ๊ฐ๊ฒฐํจ์ ๋ ๋ค ์ก์ ์ ์์ต๋๋ค.์ด๋ฒ ํฌ์คํธ์์๋ ๊ฐ์ข ์ปดํ๋ฆฌํจ์ ๋ฐ ํํ์์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค.์์ธ๋ฌ, ์ด๋ค์ ๋๋ค(lambda)์๊น์ง ์ ์ฉํ ์์ ๋ ํ๋ฒ ์ดํด๋ณด์๊ฒ ์ต๋๋ค.๋ชฉ์ฐจ:1. List Comprehensions2. Set Comprehensions3. Dictionary Comprehensions4..