![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQY9KL%2FbtqF6D4wsjI%2F1sISYNILjNrf776XBPN5y0%2Fimg.png)
๊ทธ๋ํ ์ฉ๋ ์ฉ์ด ์ ๋ฆฌ ๊ธฐ๋ณธ ์ฌํ ๊ตฌํ ์ธ์ ํ๋ ฌ ์ธ์ ๋ฆฌ์คํธ ๋น๊ต ์ฐ์ฐ ๋ถ๋ฅ ๋ฐฉํฅ์ฑ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์ฐ๊ฒฐ์ ๋ฐ๋ฅธ ๋ถ๋ฅ ์ฌ์ดํด์ ๋ฐ๋ฅธ ๋ถ๋ฅ ํน์ํ ๊ทธ๋ํ ํ์ ๋์ถ๋ ๋ฌธ์ ๋ค ๊ด๋ จ ์๊ณ ๋ฆฌ์ฆ ์ฐธ๊ณ ๊ทธ๋ํ ๊ทธ๋ํ๋ '๋ ธ๋'์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๋ '๊ฐ์ '์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ง๊ธ๊น์ง์ ์ดํด๋ณธ ์๋ฃ๊ตฌ์กฐ๋ค(๋ฆฌ์คํธ, ์คํ, ํ ๋ฑ)๊ณผ๋ ๋ฌ๋ฆฌ ๊ทธ๋ํ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ ์ด๋ค. ์ฉ๋ ๊ทธ๋ํ๋ ์ผ์์ํ์์ ์ฐ๊ฒฐ๋์ด์๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ๋ ์ฌ์ฉ๋๋ค. ์๋ก ์ง๋๋ ์งํ์ฒ ๋ ธ์ ๋, ์ ๊ธฐํ๋ก, ๋๋ก ๋ฑ์ ๋ค ์ ์๋ค. ๋ํ ์ปดํจํฐ ์ธ๋ถ์ ๊ณต์์๋ ํต์ ๋คํธ์ํฌ ๋ถ์ผ์์๋ ์ฐ์ด๋ฉฐ, ๋ ผ๋ฆฌํ๋ก๋ฅผ ์ค๊ณํ๊ณ ๋ถ์ํ๋ ๋ฐ์๋ ์ฌ์ฉ๋๋ค. ์ต๊ทผ์๋ ์น์ฌ์ดํธ์ ๋งํฌ ์ฐ๊ฒฐ(Page Rank)์ด๋ SNS ์์ ์น๊ตฌ๊ด๊ณ๋ฅผ ํํํ๋ ๋ฐ์๋ ์ฌ์ฉ๋..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT5BKn%2FbtqF3GIovQe%2FgTk6GPQbIx6rgXPG5NnrW1%2Fimg.png)
์๋ก ์๋ฃ๊ตฌ์กฐ ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ์์ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ์กฐ์งํํ๋ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ๋์ ๊ณต๋ถํด์ผํ๋ ๋ถ์ผ์ด๋ค. ์๋ฃ๊ตฌ์กฐ๋ ๋จผ์ ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌ๋ถ๋๊ณ , ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ์๋ ์ ํ ๊ตฌ์กฐ์ ๋น์ ํ ๊ตฌ์กฐ๊ฐ ์๋ค. ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด์. ๋ฐฐ์ด, ๋ฌธ์์ด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ, ํ, ๋ฑ ๊ทธ๋ํ ํธ๋ฆฌ ํ ๊ตฌ์กฐ์ฒด
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7v9Zw%2FbtqFNboPaho%2FzuBBQ52ky2bJ6Ii39Fsjm0%2Fimg.png)
์คํ ํน์ง ์ฉ๋ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ํ ์ฉ๋ ์ข ๋ฅ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ์ฐ์ ์์ ํ ๋ฑ ์ฉ๋ ๊ตฌํ ์คํ ์คํ์ LIFO(Last-In First-Out), ์ฆ ํ์ ์ ์ถ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ํํ์ด๋ฉฐ, ์ ์์ฒ๋ผ ์์ฌ์ ์ดํ์ ์ฝ์ ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋น ์ ธ๋๊ฐ๋๋ก ๋์ด์๋ค. top ๋ณ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ์คํ์ด ๋น์ด์์ผ๋ฉด -1์ด๋ค. ํน์ง LIFO ๋ด๋ถ ์์๋ฅผ ํ์ธํ ๋ฐฉ๋ฒ์ด pop ๋ง๊ณ ๋ ์๋ค. ์ฉ๋ ์ ๋ ฅ์ ์ญ์์ด ํ์ํ ๋ ์คํ์ ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ, ํจ์์ ํธ์ถ์์ ๋ณต๊ท ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด์ ์์คํ ์คํ์ด ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค. ๋ํ ๊ดํธ ๊ฒ์ฌ, ๊ณ์ฐ๊ธฐ, ๋ฏธ๋ก ํ์ ๋ฑ์ ๊ฒฝ์ฐ์ ์คํ์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ๊ณ์ฐ๊ธฐ์์ ์ค์ ํ๊ธฐ์(infix)์ ํ์ ํ๊ธฐ์(postfix)์ผ๋ก..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYitk8%2FbtqFNhPTnVG%2FJ1OdeBCko5JmLQBg7FD381%2Fimg.png)
์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ฆฌ์คํธ๋? ์ ์ ๋ฐฐ์ด๊ณผ์ ๋น๊ต ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ์ข ๋ฅ / ๊ตฌํ ๋ฆฌ์คํธ๋? ๋ฆฌ์คํธ๋ ์์๋ฅผ ๊ฐ์ง ํญ๋ชฉ๋ค์ ๋ชจ์์ด๋ค. ์ด๋ฅผ ๋ํ๋ด๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ํ๋๋ ๋ฐฐ์ด์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๊ณ ๋๋จธ์ง ํ๋๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ๋ฅผ ์ ํ๋ฆฌ์คํธ๋ผ๊ณ ํ๋๋ฐ ๊ตฌํ ์์ฒด๋ ๊ฐ๋จํ๊ณ ์์์ ๊ทผ์ด ๊ฐ๋ฅํ์ง๋ง, ์ฝ์ / ์ญ์ ์ฐ์ฐ ์ ๋ค๋ฅธ ์์๋ค์ ์ด๋์ด ๋ถ๊ฐํผํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ํฌ๋ค. ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๊ตฌํ์ด ๋ณต์กํ๊ณ ์์ฐจ์ ๊ทผ์ด ํ์ํ์ง๋ง ์ฝ์ , ์ญ์ ๊ฐ ํจ์จ์ ์ด๋ค. ์ ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ์ ๋งํฌ๋ก ์ด๋ฃจ์ด์ง ๋ ธ๋๋ก ๊ตฌ์ฑ๋์ด์๋ค. ๋งํฌ๋ ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ด๋ค. ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ์ฒ์์๋ ํค๋ ํฌ์ธํฐ๊ฐ ํค๋ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์์ผ๋ฉฐ, ๋ง์ง๋ง ๋ ธ๋์ ๋งํฌ๋ ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlpSGO%2FbtqFPrJPTVL%2F7J98pjXuvOD7Ks08RKZ4h1%2Fimg.png)
๋ชฉ์ฐจ ๋ฐฐ์ด ์ ์ธ ์ด๊ธฐํ ์ ๊ทผ ๋ค์ฐจ์ ๋ฐฐ์ด ํฌ์ ํ๋ ฌ ํํ ์ฃผ์์ ํฌ์ธํฐ ํฌ์ธํฐ ํน์ง ์ ์ฝ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋์ ๋ฐฐ์ด(vector) ๋ฌธ์์ด ์ ์ธ ์ด๊ธฐํ ํจ์ ๋ฐฐ์ด / ๋ฌธ์์ด ๋ฐฐ์ด ๋ฐฐ์ด์ด๋ ๋จ์ผ ์๋ณ์๋ก _๊ฐ์ ์๋ฃํ_์ ์ฌ๋ฌ ๋ณ์๋ฅผ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ ์ธ c++์์๋ int arr[3];์ ๊ฐ์ด ์๋ฃํ ๋ฐฐ์ด์ด๋ฆ[๋ฐฐ์ด ๊ธธ์ด];๋ก ๋ณ์๋ฅผ ์ ์ธํ๋ค. ์ด ๋, ๋๊ดํธ ๋ด์ ์์์ ๊ฐฏ์๋ '์ปดํ์ผ ํ์ ์์'์ฌ์ผํ๋ค. ์์ค์ฝ๋๋ฅผ ์ปดํ์ผํ ๋, ๊ณ ์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์์์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ๋งคํฌ๋ก ๊ธฐํธ ์์ (ex_ #define ARRAY_LEN 5)๋ ์ด๊ฑฐ์(ex_enum A{ARRAY_LEN = 5})๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ก ์ฌ์ฉํ ์ ์๋ค. const ๋ํ ์ปดํ์ผ ์ ๊ณ ์ ๋๋ ์์์ด๋ฏ๋ก ์ฌ์ฉ๊ฐ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJJFmf%2FbtqFknot3BF%2Fb6HfwdChgXekjIl0L9K7r1%2Fimg.png)
Mutex์์ ๋น๊ต ์ฝ๋ #include #include #include #include #include #include using namespace std; class Node { public: int value; Node* next; Node() : value(0) { next = NULL; } Node(int k_value) { next = NULL; value = k_value; } }; int node_n; //random ๊ตฌํ random_device rd; mt19937 gen(rd()); uniform_int_distribution dis(0, 10); //์ถ๋ ฅ์ ์ํ mutex mutex mut; class LFStack { private: Node * head; public: void ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJxIRC%2FbtqDoTQt56q%2FIwDzKABxPVqchEHzvNnkx1%2Fimg.png)
์ปจํ ์ด๋์ ๊ธฐ๋ณธ๊ฐ ์ฑ์ฐ๊ธฐ ๋ฐฐ์ด 1์ฐจ์ ๋ฐฐ์ด ๊ธฐ์กด ์ฝ๋ #include using namespace std; int main() { int arr[3]; for (int i = 0; i < 3; i++) { cout
์์ ์ฐพ๊ธฐ ํ๋ก๊ทธ๋จ ๋ฐฉ๋ฒ n-1๊น์ง ๊ตฌํ๊ธฐ O(n) n-1 ๊น์ง ์์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ์ง๊ธฐ ์์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ ์์ ๋ฐฐ์ด๋ง ๋๋ฉด์ ๋๋์ด์ง๋์ง ํ๋จ O(n) ์์ ๋ฐฐ์ด์ ๋ง๋๋ ๋ฐ์ O(n) => ๋ฉ๋ฆฌํธ ์์ ๋ฃจํธ n๊น์ง ๋๋ฆฌ๋ฉด์ ์ง์ ์ ์ธํ๊ธฐ O(sqrt(n)) ์กฐ๊ฑด ์ถ๊ฐ ๋ช ๊ฐ์ ์์( 3, 5 )๋ฅผ ๊ฐ์ง๊ณ ํด๋น ์์ ๋ฐฐ์์ด๋ฉด ๋ฐ์ด๋๊ธฐ 3, 5 ๊ณ์ฐ ์ ๋๋์ด๋จ์ด์ง์ง ์์์ผ๋ฉด ํด๋น ์์ ๋ฐฐ์์๋ ๋๋์ด๋จ์ด์ง์ง ์์ ๊ตฌํ ์ ์ฃผ์ ํด๋น ์๊ฐ 3์ผ๋ก ๋๋์ด๋จ์ด์ง๋์ง, 5๋ก ๋๋์ด๋จ์ด์ง๋์ง๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด ๋ชจ๋๋ฌ ์ฐ์ฐ์ ์ฌ์ฉํด์ผํ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ ๋ณ์ ํ๋์ฉ ์ง์ ํ๊ณ 1์ฉ ๋ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑ 3๊ณผ 5์ ๊ณต๋ฐฐ์๊ฐ ๋์ค๋ฉด ๋จผ์ ๊ฑฐ์น๋ 3์ if๋ฌธ์์ continue ๋จ์ผ๋ก ..
Comment