๋ชฉ๋กComputer Science (11)
์ฐ์ ๊ธฐ๋ก ๐ช
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cmYQYw/btsLLDqyxgA/qkOfumcDYAMj95Sg2fJwYk/img.png)
์ด ๊ธ์ ์๋ ๊ธ์ ์ฝ์ผ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ๊ณผ, ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.https://mangkyu.tistory.com/286 [MySQL] B-Tree๋ก ์ธ๋ฑ์ค(Index)์ ๋ํด ์ฝ๊ณ ์๋ฒฝํ๊ฒ ์ดํดํ๊ธฐ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์(๋๋ ์๊ณ ๋ฆฌ์ฆ)์ ๋ฐ๋ผ B-Tree ์ธ๋ฑ์ค, Hash ์ธ๋ฑ์ค, Fractal ์ธ๋ฑ์ค ๋ฑ์ผ๋ก ๋๋ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก B-Tree ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ B-Tree ์ธ๋ฑ์ค๋ฅผ ํตํด ์ธ๋ฑ์ค์ ๋์mangkyu.tistory.com B- Tree๋ BinaryTree(์์์ด 2๊ฐ์ธ ํธ๋ฆฌ)์์ ๊ฐ๋ ์ ํ์ฅํด n๊ฐ์ ์์์ ๊ฐ์ง ์ ์๋๋ก ํ ๊ฒ์ด๋ค.DB์๋ ํ์ด์ง๋ผ๋ ๊ฐ๋ ์ด ์๋๋ฐ, ํ์ด์ง๋ ๋์คํฌ์ ๋ฉ๋ชจ๋ฆฌ(๋ฒํผํ)์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์ต์ ๋จ์์ด๋ค. ์ธ๋ฑ์ค์ PK, ํ ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bHZUbV/btsGOvk59Q5/ZxPn58GBfx5aC2CEaX3eAK/img.png)
์ปดํจํฐ ๊ตฌ์กฐ์ ํฐ 3๊ฐ์ง ์์๋ CPU, Memory, I/O์ด๋ค. ํ๋ก๊ทธ๋จ์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋์ด ๋ณผ ์ ์๋ค. Application Software ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑ๋์ด ์๋ค. System Software Compiler(์ปดํ์ผ๋ฌ): HLL(High-level language)์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค. Operating System(์ด์์ฒด์ ): I/O๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๊ณต๊ฐ์ ๊ด๋ฆฌํ๋ค. ์ผ๋ค์ ์ค์ผ์ค๋งํ๊ณ ์์์ ๊ณต์ ํ๋ค. Hardware Processor, Memory, I/O controllers๊ฐ ํฌํจ๋๋ค. ์์ ์ปดํ์ผ๋ฌ๊ฐ HLL์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค๊ณ ํ๋๋ฐ ํ๋ก๊ทธ๋จ ์ฝ๋๋ High-level language, Assembly language, Hardware representation ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bkDtUn/btst6mlYAZV/5LoYRi2LbaPslr1tYIvyKK/img.png)
์ด ๊ธ์์๋ ์ฐ๋ฆฌ๊ฐ ์ง ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์ปดํ์ผ๋์ด ์คํ๋๋์ง ์ดํด๋ณผ ๊ฒ์ด๋ค. ๋จผ์ ์๋์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. #include #define MAX 5 int main(){ printf("hello world\n"); //hello world๋ฅผ ์ถ๋ ฅ int a = MAX; return 0; } ์ดํ ์ฐ๋ฆฌ๊ฐ gcc hello.c ๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด a.outํ์ผ์ด ์์ฑ๋๋ค. ์ด a.outํ์ผ์ ์คํ ๊ฐ๋ฅํ ๋ชฉ์ ํ์ผ(executable object file)์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ณด๊ธฐ์๋ hello.cํ์ผ์ด ๋ฐ๋ก a.outํ์ผ๋ก ๋ณํ ๊ฒ์ผ๋ก ๋ณด์ฌ์ง์ง๋ง ์ฌ์ค ๋ด๋ถ์ ์ผ๋ก ์ ์ฒ๋ฆฌ, ์ปดํ์ผ, ์ด์ ๋ธ๋ฆฌ, ๋งํน ๊ณผ์ ์ ๋ชจ๋ ๊ฑฐ์น ๊ฒ์ด๋ค. ์ด์ ๋ถํฐ ๊ทธ ๊ณผ์ ์ ํ๋ํ๋ ์ดํด๋ณด๋๋ก ํ์. ์ ์ฒ๋ฆฌ(h..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/m3mVW/btssqwSmfMX/H1BhwuZeYjFX79jUXDlBjk/img.png)
๐ ํค์๋ ์์ฐจํ๋ก, ์กฐํฉํ๋ก, ํ๋ฆฝํ๋กญ ๐์์ฐจํ๋ก(Sequential Circuits)์ ์กฐํฉํ๋ก(Comninational Circuits) ์์ฐจํ๋ก๋ ์ถ๋ ฅ์ด ํ์ฌ์ ์ ๋ ฅ๊ณผ ์ด์ ์ ๋ ผ๋ฆฌํ๋ก ์ํ์ ์กฐํฉ์ ์ํด ๊ฒฐ์ ๋๋ ๋ ผ๋ฆฌํ๋ก, ์กฐํฉํ๋ก๋ ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ฉด ๋ฐ๋ก ์ถ๋ ฅ์ด ๋์ค๋ ํ๋ก์ด๋ค. ์์ ์์ฐจํ๋ก๋ ์ด์ ์ ๋ ผ๋ฆฌํ๋ก ์ํ์ ์ํฅ์ ๋ฐ๋๋ค๊ณ ํ๋๋ฐ, ๊ทธ๋ฌ๊ธฐ ์ํด ์ด์ ์ ๊ฐ์ ๊ธฐ์ต์ฅ์น์ ์ ์ฅํด์ผํ๋ค. ์ด๋ ์ด ๊ธฐ์ต์์๋ก ๋ง์ด ์ฐ์ด๋ ๊ฒ์ด ๋ฐ๋ก ํ๋ฆฝํ๋กญ์ด๋ค. ์ฆ ์์ฐจํ๋ก๋ ์กฐํฉํ๋ก+๊ธฐ์ตํ๋ก์ธ ๊ฒ์ด๋ค. ์กฐํฉ ๋ ผ๋ฆฌํ๋ก์ ํ์ฌ ์ถ๋ ฅ๊ฐ์ ๊ธฐ์ตํ๋ก์ ์ ์ฅ๋๊ณ ์ด ์ ์ฅ๋ ๊ฐ์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํด ํผ๋๋ฐฑ ๊ฒฝ๋ก๋ฅผ ํตํด ์กฐํฉ ๋ ผ๋ฆฌํ๋ก์ ์ ๋ ฅ ๋จ์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๐ํ๋ฆฝํ๋กญ ๊ทธ๋ ๋ค๋ฉด ์ด ํ๋ฆฝ ํ๋กญ์ ๋ํด ์กฐ๊ธ ๋ ์์ธํ ์์..
1. ๋ฒกํฐ ๋ด์ ์กด์ฌํ๋์ง ์ฌ๋ถ ํ์ (binary_search) ์ด ๊ฒฝ์ฐ์๋ ์ด์งํ์์ ์ฌ์ฉํ๋๊ฒ์ด ๋น ๋ฅด๋ค. ๋จ ์ด์งํ์์ ์ฌ์ฉํ๋ ค๋ฉด ์ ๋ ฌ์ด ๋์ด์์ด์ผ ํ๋ค. ์ ์ ์๋์ด์๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํ๋ค. binary_search(์์๋ฒ์, ๋๋ฒ์, ์ฐพ์ ๊ฐ); ์์ ์ฝ๋ #include #include #include using namespace std; int main() { int num; cin >> num; vector vec = { 1,3,5,7,9 }; //์กด์ฌ์ 1, ๊ทธ๋ ์ง ์์ผ๋ฉด 0 ๋ฆฌํด if (binary_search(vec.begin(), vec.end(), num)) { cout num; vector vec = { 1,3,5,7,9 }; int idx = find(vec.begin(),..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xiNqU/btred1flpSc/kgNKJbUiWqKBWYFjEmSG9k/img.png)
19-> 1+ 9 = 10 ์ด๋ฐ์์ผ๋ก ์๋ฆฟ์๋ฅผ ๊ตฌํด์ฃผ๋ ์ฝ๋์ด๋ค. #include using namespace std; int seperateAndPlus(int x) { int res = 0; while (x != 0) { res = res + x % 10; x /= 10; } return res; } int main() { int num; cin >> num; cout
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bPg8lt/btrdmAW9WAp/i5aQAHcZfCZoLre6fKtJ31/img.png)
๊ฐ๋ ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋ ์ด์์ ๋ถ๋ถ๋ฌธ์ ๋ก ๋๋ ๋ค ๊ฐ ๋ฌธ์ ์ ๋ํ ๋ต์ ๊ณ์ฐํ๊ณ , ์ด๋ฅผ ๋ณํฉํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ข ๋ง๋ถ์ ํํ์ ๋น๋ฆฌ์๋ฉด ๊ฐ๊ฐ ๊ฒฉํ ๋ผ๊ณ ๊ฐ๋จํ ์ค๋ช ํ ์ ์๋ค. ๋ฐ๋ก ์์ ๋ฅผ ๋ณด๋๋ก ํ์. ์์ 1 : ์์ด์ ํฉ 1๋ถํฐ N๊น์ง์ ๊ฐ์ ๊ตฌํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์. ์ด๋ฅผ ๋จ์ ์ฌ๊ทํจ์๋ก ๊ตฌํํ๋ฉด ์๋์ ๊ฐ์ ๊ฒ์ด๋ค. #include using namespace std; int recursiveSum(int N) { if (N == 1) { return N; } else { return recursiveSum(N - 1) + N; } } int main() { int A; cin >> A; cout > A; cout
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cwfZBx/btrbEgDUcNT/UoKq0QXrMGdJnjzFecMNI0/img.png)
๊ฐ๋ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ ์ ๊ต์ฅํ ๋จ์ํ๋ค. ๋ง ๊ทธ๋๋ก ํ์์ ์ผ๋ก, ๋ ์์ ๊ฐ์ฅ ํฐ ์ด์ต์ ์ถ๊ตฌํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ค์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒ์ํ๋ฉด ์๋์ ๊ฐ์ด ๋์จ๋ค. ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ต์ ํด๋ฅผ ๊ตฌํ๋ ๋ฐ์ ์ฌ์ฉ๋๋ ๊ทผ์ฌ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ์ฌ๋ฌ ๊ฒฝ์ฐ ์ค ํ๋๋ฅผ ๊ฒฐ์ ํด์ผ ํ ๋๋ง๋ค ๊ทธ ์๊ฐ์ ์ต์ ์ด๋ผ๊ณ ์๊ฐ๋๋ ๊ฒ์ ์ ํํด ๋๊ฐ๋ ๋ฐฉ์์ผ๋ก ์งํํ์ฌ ์ต์ข ์ ์ธ ํด๋ต์ ๋๋ฌํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๊ฐํ์ ๋ ๋์์ ์ด์ต๋ง์ ์ซ๋ ๊ฒ์ด ์ต์ ์ ์ ํ์ด๋ผ๊ณ ๋ ํ ์ ์๋ค. ๊ฐ๋ น ์๋์ ๊ฐ์ ์ํฉ์ด ์๋ค๊ณ ์๊ฐํด๋ณด์. ์์ 1 ๊ฐ ๊ทธ๋ฆผ์ ์ ํ ์ซ์๋ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด๊ณ ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ๋น ๋ฅธ ์๊ฐ์์ level1, level2, level3๋ฌธ์ ๋ฅผ ํ๋์ฉ ํด๊ฒฐํ๋ ค ํ๋ค. ์ด๋ ๋ฌธ์ ๋ฅผ ํธ๋ ์๊ฐ์ ์ต์ํ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/kJaf3/btraRwWFWtZ/olMoTdfkKp0fzLF67T3Ckk/img.gif)
๊ฐ๋ ๋์ ๊ณํ๋ฒ์ ์ ์๋ ์๋์ ๊ฐ๋ค. ์ฒ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋ ์์ ๋ฌธ์ ๋ค๋ก ๋๋ ๋ค ๊ฐ ์กฐ๊ฐ์ ๋ต์ ๊ณ์ฐํ๊ณ , ์ด ๋ต๋ค๋ก๋ถํฐ ์๋ ๋ฌธ์ ์ ๋ํ ๋ต์ ๊ณ์ฐํ๋ ๋ฐฉ์. ์ ์๋ง ๊ฐ์ง๊ณ ๋ ์ดํดํ๊ธฐ ์ฝ์ง ์๋ค. ๋ค์์ ์ค๋ช ํ๊ฒ ์ง๋ง, ๊ฒฐ๋ก ์ ์ผ๋ก ๋งํ์๋ฉด ๋ฐฐ์ด์ ๋ง๋ค์ด ๊ฐ๋ค์ ์ ์ฅํ๊ณ , ํ์ ๊ทธ๊ฒ๋ค์ ๊ฐ์ง๊ณ ๋ต์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋์ ๊ณํ๋ฒ์ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ๋ ค๊ณ ํ๋ค๋ฉด ๋จผ์ ์ ํ์์ ์ธ์์ผ ํ๋ค. ์ ํ์์ด๋ผ๋ ๊ฒ์ ์ด๋ค ์์ด์ ์ผ๋ฐํญ์ ์ด์ ์ ํญ๋ค์ ์ด์ฉํด ์ ์ํ ์์ด๋ค. ๊ณ ๋ฑํ๊ต ๋ ๋ฐฐ์ ๋ ์์ด์ ์ผ๋ฐํญ์ ๊ตฌํ๋ฏ์ด n๋ฒ์งธ ํญ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์์ผ๋ก ๋ํ๋ธ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์๋ฅผ ๋ค์ด ํํ๋ค ์๋ ํผ๋ณด๋์น ์์ด์ ์ ํ์์ ์๋์ ๊ฐ๋ค. ์ด์ ์ด ์์ ๊ฐ์ง๊ณ ์ฝ๋๋ก ์์ฑ์ ํด ๋ณด๋๋ก ํ์. ์ผ๋ฐ์ ์ผ๋ก ์ฌ๊ทํจ์๋ฅผ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/njAkv/btq2iq3O94n/NiIsSWmF1rLAFujRqno9SK/img.png)
๊ตฌํ ๋ด์ฉ at(๐) : ๋ฐฐ์ด Arr์ ์ธ๋ฑ์ค i์ ์ ์ฅ๋ ๊ฐ์ ์ถ๋ ฅํ๋ค.(๋จ, 0 ≤ ๐ ≤ ๐ − 1) add(๐, ๐๐๐๐๐) : ๋ฐฐ์ด ๐ด๐๐์ ์ธ๋ฑ์ค ๐์์ ๐ − 2์ ๊ฐ์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์ด๋ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด ๐ด๐๐์ ์ธ๋ฑ์ค ๐๋ฒ์งธ์ ๐ฃ๐๐๐ข๐๋ฅผ ์ฝ์ ํ๋ค. (๋จ, 0 ≤ ๐ ≤ ๐ − 1) remove(๐): ๋ฐฐ์ด ๐ด๐๐์ ์ธ๋ฑ์ค ๐ + 1์์ ๐ − 1๊น์ง์ ๊ฐ์, ์ผ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์ด๋์ํจ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด ๐ด๐๐์ ๐ − 1๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ 0์ผ๋ก ํ ๋นํ๋ค. (๋จ, 0 ≤ ๐ ≤ ๐ − 1) set(๐, ๐๐๐๐๐): ๋ฐฐ์ด ๐ด๐๐์ ์ธ๋ฑ์ค ๐๋ฒ์งธ์ ๐ฃ๐๐๐ข๐๋ฅผ ํ ๋นํ๊ณ ๐ฃ๐๐๐ข๐๋ฅผ ์ถ๋ ฅํ๋ค. (๋จ, 0 ≤ ๐ ≤ ๐ −1) print(): ๋ฐฐ์ด ๐ด๐๐์ ๋ชจ๋ ๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ์ง์ด ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dsuOuP/btqZfhBHysf/GdZTfjyRPyiQphUEsHwsRk/img.png)
https://thewayaboutme.tistory.com/91 c++ singly linked list ๋จ์ผ ๋งํฌ๋ ๋ฆฌ์คํธ ๊ตฌํ * ๋ณธ๋ฌธ์ (๋ฒํ์์ ์ฃผ์ํ์ฌ, 2013)์ ๊ณต๋ถํ๋ฉด์ ์์ฑํ ๊ธ์ ๋๋ค. ํฅํ ๊ฐ์ฒด์งํฅ ๋ฐ ์๋ฃ๊ตฌ์กฐ ์์ ์ ๋ค์ผ๋ฉฐ ์ ํํ + ์ต์ ๋ด์ฉ ์ดํด๋ฅผ ๋ฐ์ํ์ฌ ๋ณด์ํด ๋๊ฐ ๊ฒ์ ๋๋ค. 1. ๋ฌธ์์ด ๋ฆฌ์คํธ๋ฅผ ๊ฐ thewayaboutme.tistory.com ์ด ๊ธ์ ์ ๋ธ๋ก๊ทธ ๊ธ์ ์ฐธ๊ณ ํ์ฌ ์์ฑ๋์์ต๋๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ฌ๋ฌ๊ฐ์ง ๊ฐ๋ค์ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ ์ค ๊ฐ์ฅ ๋ํ์ ์ธ ๊ฒ์ ์๋ง ๋ฐฐ์ด(Array)์ผ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ฐฐ์ด์ ๊ฒฝ์ฐ ์ค๊ฐ์ ์๋ ์์๋ฅผ ์ญ์ ํ๊ฑฐ๋, ๊ฐ์ ์ฝ์ ํ ๋ ๊ต์ฅํ ๋นํจ์จ์ ์ด๋ค. ๋ง์ฝ ์๋์ ๊ฐ์ ๋ฐฐ์ด์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ฌ๊ธฐ์ 22๋ฅผ ์ญ์ ํ๋ ค ํ..