![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHPi6a%2FbtqP6nRUeEO%2F4N4zgaO6uztXcXt8Tu5LrK%2Fimg.png)
ํ์ํ๊ธฐ๋ฒ์ผ๋ก ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ ๊ณ์ฐ๊ธฐ ๊ด๋ จ ์ธ์ฃผ๊ฐ ๋ค์ด์์ ํด๋ณด๋ ์ค, ์์ ์ ๋ฐฐ์ ๋ ํ์ํ๊ธฐ๋ฒ์ ์ฌ์ฉํด์ผํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ธฐ์ต์ด ์๋์ ๊ฒ์ ์์ด ํผ์ ๊ตฌํํ๋ ค๋ค ๋ณด๋ ๋๋ฌด ์ด๋ ค์ ๋ค... ๊ฒ์ํด๋ณด๋๊น stack์ ์ด์ฉํด์ ํ์ํ๊ธฐ๋ฒ์ ๋ง๋๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ๋์์์ด์ ๊น๋จน์ง ์๊ธฐ ์ํด ๊ธฐ๋กํ๋ค. ํ์ ํ๊ธฐ๋ฒ ์์ ํธ๋ฆฌ ํ์ ํ๊ธฐ๋ฒ์ด๋ ๊ณ์ฐ์์์ ๊ณ์ฐ์ ์ํด ์ฌ์ฉํ๋ ํ๊ธฐ๋ฒ์ด๋ค. ์์ ์ ํจ๊ป ์ดํด๋ณด์. ์์ : 9x3+1-3%3 ์์์ด ์ฃผ์ด์ก์ ๋ ๋น์ฐ์ฐ์์ ์ฐ์ฐ์๋ก ๋๋ ํ, ๊ฐ ํญ๋ชฉ์ ํ๋์ ๋ ธ๋๋ผ๊ณ ์๊ฐํ๋ฉด ํธ๋ฆฌ ํํ๋ก ๋ง๋ค ์ ์๋ค. ์ด๋ฌํ ํธ๋ฆฌ๋ ์์์ ํธ๋ฆฌ๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋ง๋ ๊ฒ์ด๋ ์์ํธ๋ฆฌ, ์ฆ Expression Tree๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ํธ๋ฆฌ ์ํ์ ํ๊ธฐ๋ฒ ํธ๋ฆฌ๋ฅผ ์ํํ๋ ๋ฐฉ์์๋ prefix(์ ์)..
![](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%2F22AQ7%2FbtqF00UFQV7%2FkxcZ7nAFZiOK9cRpEZgqm1%2Fimg.png)
ํ https://programmers.co.kr/learn/courses/30/lessons/42588?language=cpp ์ฝ๋ #include #include #include using namespace std; vector solution(vector heights) { int heights_len = heights.size(); vector answer(heights_len); stack stk; // index, key for (int i = heights_len - 1; i>0; i--) { if (heights[i - 1] > heights[i]) { answer[i] = i; // stack while (stk.size() != 0) { auto tmp = stk.top(); if (h..
![](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)์ผ๋ก..
Comment