기출문제/정보처리기사

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 구조에 맞지 않아 불가능합니다.