인터뷰

[인터뷰 후기] Stack 2개로 Queue 구현하기

bemaru 2014. 6. 28. 01:48
반응형

출처 : 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() 일 때 어떻게 되는지 잘 생각해야한다.


반응형