์๋ฃ๊ตฌ์กฐ#
CS์์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ํํ ๋ฐ ๊ตฌํํ๋๋ฐ ํ์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ๊ณต๋ถํ๋ ๊ธฐ์ด์ด๋ก ์ ๋งํ๋ค. ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํํํ๋์ง์ ๋ํด์ ๊ณต๋ถํ๊ณ ์ด์ ๋ํด์ ๊ตฌํํ ์ ์์ผ๋ฉด ๋๋ค๋ ๊ฒ์ด๋ค. ์ํ๋ฒณ์ฒ๋ผ ๋๋ฌด๋๋ ๊ธฐ๋ณธ์ด ๋๋ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ๋ถ์ ๋ํด์ ์ ๋๋ก ํ์ ํ๊ณ ์์ง ๋ชปํ๋ฉด ๋์ค์ ํ๋ค๊ฒ ๋๋ค. ๋ฆฌ์คํธ, ์คํ, ํ, ํํํ, ํ, ํธ๋ฆฌ, ๊ทธ๋ํ 7๊ฐ์ง ๊ธฐ๋ณธ๊ฐ๋ ์ ์์งํ๊ธฐ ์ ๊ฐ์ ์๋ฏธ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ๋ 1์ฐจ์ ๊ตฌ์กฐ๋ผ๊ณ ๋ณผ ์์๋ค. (0,1,0,1,โฆ) ํ์ค์ ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด์๋ ์ด๊ฒ์ 1์ฐจ์์ธ ์ ํ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์ด ํ์ํ๋ค. ๊ธฐ์ด ์๊ณ ๋ฆฌ์ฆ์์๋ ์ด๊ฒ์ ๋ฐฐ์ด๋ค. 2์ฐจ์ ๋ฐฐ์ด, ์ด์งํธ๋ฆฌ, ๊ทธ๋ํ ๋ฑ์ ์๋ฃ๊ตฌ์กฐ๊ฐ 2์ฐจ์์ 1์ฐจ์์ผ๋ก projectionํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๋ ๋์๊ฐ์ 3์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ , 3์ฐจ์ ๋ฐ์ดํฐ ์ด์์ ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ง๋๊ฒ ๋ ๊ฒ์ด๋ค.
์ถ์์ ์๋ฃํ๊ณผ ์๋ฃ๊ตฌ์กฐ#
์ถ์์ ์๋ฃํ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํ์ํ ์๋ฃ์ ํํ์ ์๋ฃ๋ฅผ ์ฌ์ฉํ ์ฐ์ฐ๋ค์ ์ํ์ ์ผ๋ก ์ ์ํ ๋ชจ๋ธ์ด๋ค. ๊ทธ๋ฌ๋๊น ์ถ์์ ์๋ฃํ์ ๊ตฌํํ๋ฉด ์๋ฃ๊ตฌ์กฐ๊ฐ ๋๋ ๊ฒ์ด๋ค. ๋ง์น ํ์ด์ฌ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ํน์ class๊ฐ ๊ฐ์ ธ์ผํ ์ผ์ ํ ํ์ ๋ถ์ฌํ๋ abstract base class(ABC)์ ๊ฐ๋ค๊ณ ๋ณผ ์ ์๋ค.
์๋ฅผ ๋ค๋ฉด, ํ์
์ ์ถ์ ์ฑ์ง์ ๊ฐ์ง๋ ์ถ์์ ์๋ฃํ์ด ํ์ํ๋ pop push๋ฅผ ๊ฐ์ง๋๋ก stack ์คํ
์ด๋ผ๋ ์ถ์์ ์๋ฃํ์ ์ ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๊ทธ๊ฒ์ ๊ตฌํํด์ ํจ์ ํธ์ถ์ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉํ๋ ๊ตฌํ์ (์๋ฃ๊ตฌ์กฐ)๋ฅผ ์ฝ ์คํ
์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ด๋ค.
์กฐ๊ธ์ด๋ผ๊ณ ๊ตฌํ๋ฐฉ๋ฒ์ด ์ ํด์ ธ ์์ผ๋ฉด ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋ฐ๋ฉด ๊ตฌํ๋ฐฉ๋ฒ์ด ์ ํ ์ ์๋์ด ์์ง ์์ผ๋ ์ถ์์ ์๋ฃํ์ด๋ค. ํ๋ ๋งคํ๊ฐ์ง