stack은 선입후출 구조 first in last out 입니다.
queue는 선입선출 구조 first in first out 입니다.
간단히 생각해보면 두 구조는 반대라는 것입니다.
[1,2,3] 데이터가
stack으로 들어갔다가 나오는 순서는 [3,2,1],
queue는 [1,2,3] 입니다.
그렇다면 stack 2개를 준비하여 1번 stack은 input용, 2번 stack은 output용으로 사용하면
queue처럼 선입선출구조가 가능합니다.
예를들어
[1,2,3] 배열이 들어오면 1번 스택에 들어가고 2번 스택으로 넘기면 [3,2,1] 역순으로 들어갑니다.
이것을 2번 스택에서 꺼낼때는 다시 역순이 되니 [1,2,3]이 됩니다.