본문 바로가기

문제 풀기/코딩인터뷰

[코딩인터뷰 완전정복] 3.1 한 개로 세 개

Q : 배열 한 개로 스택 3개를 어떻게 구현할지 설명하라.

 

A : 임의접근이 가능하도록 스택을 구현 할 경우 시작 노드가 변하지 않는다. 배열을 3등분해서 각 스택의 공간을 정적으로 할당한다.

    공간을 동적으로 사용하려면 스택에 넣을 공간이 부족할 때 스택의 공간을 늘려주고 그자리에 있던 원소들은 밀어준다.

    

   스택을 노드로 구현한다면 공간을 정적으로 지정해 줄 필요없이 세 스택의 총 길이가 배열의 길이를 넘지 않도록만 해준다.