공개 기출자동 검사 완료2021년 국가직 기출 · 컴퓨터일반 · 자료구조·알고리즘 · 9번
스택의 입력으로 4개의 문자 D, C, B, A가 순서대로 들어올 때, 스택 연산 PUSH와 POP에 의해서 출력될 수 없는 결과는?
1
ABCD
오답 이유D,C,B,A를 모두 PUSH한 뒤 차례로 POP하면 A,B,C,D가 되어 ABCD를 만들 수 있다.
2
BDCA
정답 근거B를 출력하려면 D,C 위에 쌓인 B를 POP한다. 이후 D를 C보다 먼저 출력하려면 C를 건너뛰어야 하므로 LIFO에서 불가능하다.
3
CDBA
오답 이유D,C를 넣고 C를 POP한 뒤 D를 POP하고, B,A를 넣어 A,B 순으로 POP하면 CDBA가 된다.
4
DCBA
오답 이유각 입력을 즉시 PUSH 후 POP하면 입력 순서 그대로 DCBA를 출력할 수 있다.
정답·상세해설
정답 2번
스택은 LIFO(Last-In, First-Out) 구조로, 가장 나중에 들어온 데이터가 가장 먼저 나갑니다. D, C, B, A 순으로 입력될 때 BDCA가 나오려면 B가 먼저 POP 되어야 하는데, 이때 스택 내부에는 D, C가 남아있어야 합니다. 하지만 B 이후에 D가 나오고 C가 나오는 순서는 스택의 기본 원리상 불가능합니다.