Algorithm & Data Structure
-
[C++] ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ๋ ๊ณผ STL List ์ฌ์ฉ๋ฒAlgorithm & Data Structure 2022. 1. 9. 23:33
๋ค์ด๊ฐ๋ฉฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)๋ 3๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค. ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List), ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Doubly Linked List), ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Circular Linked List)๊ฐ ์ด์ ํด๋นํ๋ค. ๊ทธ๋ฆฌ๊ณ C++ STL์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๊ฐ ๊ตฌํ๋์ด ์์ด ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค! ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)๋? ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ๋งํฌ๋ ๋ฆฌ์คํธ(linked list)๋ ๊ฐ ๋ ธ๋๊ฐ ๋ฐ์ดํฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ํ ์ค๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ์ด๋ฆ์์ ๋งํ๋ฏ์ด ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ๋ ธ๋๋ค์ด ์ฐ๊ฒฐ๋์ด ์๋๋ฐ, ๋ ธ๋์ ํฌ์ธํฐ๊ฐ ๋ค์์ด๋ ์ด์ ์ ๋ ธ๋์์ ์ฐ๊ฒฐ์ ๋ด๋นํ๊ฒ ๋๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ข ๋ฅ๋ก๋ ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์ค..
-
[C++] STL Vector์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒAlgorithm & Data Structure 2022. 1. 5. 23:17
๋ค์ด๊ฐ๋ฉฐ STL์ C++์์ ์ ๊ณต๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. STL์๋ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ๊ฐ ๊ตฌํ๋์ด ์๋ค. ๋ฐ๋ผ์ ์ง์ , ํ๋ค๊ฒ ์ฐ๋ฆฌ๊ฐ ๊ตฌํํ์ง ์๊ณ ์ฌ์ฉํ ์ ์์ด์ ์ฝ๋ ์์ฑ์ ํฐ ๋์์ ์ค๋ค. STL ์ด๋? ํ์ค ํ ํ๋ฆฟ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(STL: Standard Template Library)๋ C++์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์ C++ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ ๋ถ๋ถ์ ์ํฅ์ ๋ผ์ณค๋ค. ์ด๊ฒ์ ์๊ณ ๋ฆฌ์ฆ, ์ปจํ ์ด๋, ํจ์์ ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต์๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ค ๊ฐ์ง์ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ณตํ๋ค. - ์ํค๋ฐฑ๊ณผ STL Vector Vector๋ ๋ฐฐ์ด๊ณผ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ค. C++์์๋ ๋ฐฐ์ด์ ์ ์ธํ ๋ ํฌ๊ธฐ๋ฅผ ๋ช ์ํด์ผ ํ๊ณ , ๋ฌด์กฐ๊ฑด ํด๋น ํฌ๊ธฐ ์์์๋ง ์ฌ์ฉํด์ผ ํ๋ค. ํ์ง๋ง, vector๋ ๋์ ์ผ๋ก ์์๋ฅผ ์ถ๊ฐํ ์ ์๊ณ ํฌ๊ธฐ๊ฐ ๋์ด..
-
์๊ฐ ๋ณต์ก๋์ ๊ฐ๋ ๊ณผ ๋น ์ค ํ๊ธฐ๋ฒ ๊ทธ๋ฆฌ๊ณ ์๋ฃํAlgorithm & Data Structure 2022. 1. 3. 23:17
๋ค์ด๊ฐ๋ฉฐ ์ปดํจํฐ๋ 1์ด์ ๋๋ต 3~5์ต ๊ฐ ์ ๋์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ ์ ์๋ค. ์๋ฅผ ๋ค์ด์ ์๊ฐ ์ ํ์ด 1์ด์ธ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์ด๋ 3~5์ต๋ฒ์ ์ฐ์ฐ ์์ ๋ต์ ๋ด๊ณ ์ข ๋ฃํ์ฌ ์๊ฐ ์ด๊ณผ๊ฐ ์๋ ์ฝ๋๋ฅผ ์ง๋ผ๋ ๊ฒ์ ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค. ๋ฐ์ ํจ์ ํ๋๋ฅผ ๋ณด๊ณ ์๊ฐํด๋ณด์. int func(int arr[], int n) { int cnt = 0; for (int i = 0; i < n; i++) { if (arr[i] % 5 == 0) { cnt++; } } return cnt; } ์์ ํจ์์์ ์ฐ์ฐ์ด ๋ช ๋ฒ ํ์ํ ๊น? cnt ๋ณ์๋ฅผ ์ ์ธํ๊ณ 0์ ๋ฃ๋ ๊ณผ์ ์์ 1๋ฒ, for๋ฌธ์ i์ 0์ ๋์ ํ ๋ 1๋ฒ, n๋ฒ์ ๊ฑธ์ณ ๋ฐ๋ณต๋๋ ์ผ์์ i๊ฐ n๋ณด๋ค ์์์ง ํ์ธํ๊ณ ์์ผ๋ฉด i++ ๊ณผ์ ์ ํ๋๊น ์ฐ์ฐ 2๋ฒ, if๋ฌธ์ผ๋ก..