A, B, C, D의 순서로 정해진 입력 자료를 스택에 입력하였다가 출… | [정보처리산업기사 필기] 20년 1회차 기출문제 상세 페이지
1[정보처리산업기사 필기] 20년 1회차
A, B, C, D의 순서로 정해진 입력 자료를 스택에 입력하였다가 출력한 결과가 될 수 없는 것은? (단, 왼쪽부터 먼저 출력된 순서이다.)
1
C, B, A, D
2
C, D, A, B
3
B, A, D, C
4
B, C, D, A
해설
스택은 후입선출(LIFO) 구조이므로, 입력 순서 A, B, C, D에서 나올 수 있는 출력 순서를 판단하려면 각 보기가 스택 연산으로 가능한지 확인해야 한다. 스택에 원소가 들어온 순서대로 아래에서부터 쌓이며, 출력은 맨 위에서만 가능하다.
1번 C, B, A, D: A 입력 → B 입력 → C 입력 → C 출력 → B 출력 → A 출력 → D 입력 → D 출력 (가능)
2번 C, D, A, B: A, B, C를 입력해서 C를 출력했으면 스택에는 [A, B]가 남아있다. 다음 D를 출력하려면 D가 스택 맨 위에 있어야 하는데, 입력 순서상 D는 아직 들어오지 않았다. D를 입력하면 스택은 [A, B, D]가 되므로 D를 꺼낼 수 있지만, 그 다음 A를 출력하려면 B를 먼저 제거해야 하므로 불가능
3번 B, A, D, C: A 입력 → B 입력 → B 출력 → A 출력 → C 입력 → D 입력 → D 출력 → C 출력 (가능)
4번 B, C, D, A: A 입력 → B 입력 → B 출력 → C 입력 → C 출력 → D 입력 → D 출력 → A 출력 (가능)
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.