기출문제/정보처리기사
2018년 1회 정보처리기사 기출문제 19번
엉클지니
2025. 6. 4. 22:23
19. 순서가 A, B, C, D 로 정해진 입력 자료를 스택에 입력하였다가 출력할 때, 가능한 출력 순서의 결과가 아닌 것은?
❶ D, A, B, C ② A, B, C, D
③ A, B, D, C ④ B, C, D, A
300x250
이 문제는 스택(Stack)의 작동 원리와 스택을 이용한 입출력 순서 이해를 평가하는 문제로, 정보처리기사에서 자주 출제됩니다.
✅ 문제 분석
- 입력 자료가 순서대로 A, B, C, D 이고,
- 이 순서대로 스택에 **입력(push)**한 후,
- 스택의 LIFO(Last In First Out) 특성을 이용해 출력(pop)할 때
- 가능한 출력 순서가 아닌 것은?
✅ 스택 기본 원리
- 스택은 후입선출(LIFO) 구조입니다.
- 마지막에 들어간 데이터가 가장 먼저 나옵니다.
- 즉, 데이터를 넣을 때는 A → B → C → D 순으로 넣고,
- 꺼낼 때는 D → C → B → A 순서가 기본입니다.
- 하지만 중간에 일부를 꺼내고, 나중에 다시 넣는 등 조작이 가능할 경우 다양한 출력 순서가 나올 수 있습니다.
✅ 가능한 출력 순서 판단 방법
입력 순서: A → B → C → D
출력 순서 후보:
- ❶ D, A, B, C
- ❷ A, B, C, D
- ❸ A, B, D, C
- ❹ B, C, D, A
스택 시뮬레이션 (간략)
입력 스택 상태 출력(팝) 가능 여부 설명
A 입장 | [A] | 가능 (출력 A) | A 먼저 넣고 바로 출력 가능 |
B 입장 | [A, B] | 가능 (출력 B) | B 넣고 바로 출력 가능 |
C 입장 | [A, B, C] | 가능 (출력 C) | C 넣고 바로 출력 가능 |
D 입장 | [A, B, C, D] | 가능 (출력 D) | D 넣고 바로 출력 가능 |
각 출력 순서 검증
출력 순서 가능한지? 이유 및 해설
❶ D, A, B, C | 불가능 | D를 먼저 출력하려면 D가 가장 위에 있어야 함.그런데 A가 D 다음에 출력되려면 스택에 먼저 들어갔던 A가 뒤늦게 나온다는 뜻으로 LIFO 특성과 모순됨 |
❷ A, B, C, D | 가능 | A부터 순서대로 넣고 바로바로 꺼내는 가장 기본적인 경우 |
❸ A, B, D, C | 가능 | A, B 먼저 출력 후, D, C 출력하는 것도 가능 |
❹ B, C, D, A | 가능 | A를 마지막에 출력하는 것도 가능 (스택에 남겨두고 마지막에 팝) |
✅ 이유를 표로 정리
출력 순서 가능 여부 이유
❶ D, A, B, C | 불가능 | A가 D 뒤에 나오려면 스택 특성 위배 |
❷ A, B, C, D | 가능 | 순차적 입력 후 순차적 출력 가능 |
❸ A, B, D, C | 가능 | D가 C보다 먼저 나올 수 있음 |
❹ B, C, D, A | 가능 | A가 마지막에 출력되는 것도 가능 |
✅ 결론
정답: ❶ D, A, B, C
이 출력 순서는 스택의 LIFO 구조에 맞지 않아 불가능합니다.