
์๋ก ์๋ฃ๊ตฌ์กฐ ์๋ฃ๊ตฌ์กฐ๋ ์ปดํจํฐ์์ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ์กฐ์งํํ๋ ๋ค์ํ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์, ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ๋์ ๊ณต๋ถํด์ผํ๋ ๋ถ์ผ์ด๋ค. ์๋ฃ๊ตฌ์กฐ๋ ๋จผ์ ๋จ์ ์๋ฃ๊ตฌ์กฐ์ ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌ๋ถ๋๊ณ , ๋ณตํฉ ์๋ฃ๊ตฌ์กฐ์๋ ์ ํ ๊ตฌ์กฐ์ ๋น์ ํ ๊ตฌ์กฐ๊ฐ ์๋ค. ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด์. ๋ฐฐ์ด, ๋ฌธ์์ด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์คํ, ํ, ๋ฑ ๊ทธ๋ํ ํธ๋ฆฌ ํ ๊ตฌ์กฐ์ฒด

ํ 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..

์คํ ํน์ง ์ฉ๋ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ํ ์ฉ๋ ์ข ๋ฅ ์ฐ์ฐ ์ฝ์ ์ญ์ ์ ๊ทผ ๊ตฌํ ์ฐ์ ์์ ํ ๋ฑ ์ฉ๋ ๊ตฌํ ์คํ ์คํ์ LIFO(Last-In First-Out), ์ฆ ํ์ ์ ์ถ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ํํ์ด๋ฉฐ, ์ ์์ฒ๋ผ ์์ฌ์ ์ดํ์ ์ฝ์ ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋น ์ ธ๋๊ฐ๋๋ก ๋์ด์๋ค. top ๋ณ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ์คํ์ด ๋น์ด์์ผ๋ฉด -1์ด๋ค. ํน์ง LIFO ๋ด๋ถ ์์๋ฅผ ํ์ธํ ๋ฐฉ๋ฒ์ด pop ๋ง๊ณ ๋ ์๋ค. ์ฉ๋ ์ ๋ ฅ์ ์ญ์์ด ํ์ํ ๋ ์คํ์ ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ, ํจ์์ ํธ์ถ์์ ๋ณต๊ท ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด์ ์์คํ ์คํ์ด ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค. ๋ํ ๊ดํธ ๊ฒ์ฌ, ๊ณ์ฐ๊ธฐ, ๋ฏธ๋ก ํ์ ๋ฑ์ ๊ฒฝ์ฐ์ ์คํ์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ๊ณ์ฐ๊ธฐ์์ ์ค์ ํ๊ธฐ์(infix)์ ํ์ ํ๊ธฐ์(postfix)์ผ๋ก..
Comment