반응형
출처 : http://brogram.egloos.com/626078
[ 최소한의 스택을 이용하여 큐를 구현하기 ]
스택 2개를 사용하여 큐를 구현한다.
하나의 스택은 push 를 담당하고, 다른 하나의 스택은 pop 을 담당한다.
stack1 의 item 을 pop하여 stack2 에 담고, stack2 의 item 을 pop 하면 큐를 구현할 수 있다.
[ 소스 코드 ]
더보기
- stack1은 push만 담당한다.
- stack2는 pop을 하는데, 자신이 비어있다면 우선 stack1에 있는 것을 모두 가져온 뒤 pop해야한다.
사실 어려운건 아니지만, 모르는 상태에서 손코딩 면접 볼 때 조금 당황했다. stack2개로 하면 될 것 같다는 생각은 했는데
stack2에서 꺼내는 조건이 제한시간동안 머리속에서 하려니 쉽지 않았다.
자료구조나 알고리즘을 생각할 때 항상
boundary를 잘 고려해야한다. empty()나 full() 일 때 즉 , max와 min, 0과 size() 일 때 어떻게 되는지 잘 생각해야한다.
반응형