문제1716--stack 구현하기

1716: stack 구현하기

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 434  통과: 269
[제출] [채점기록] [묻고답하기]

문제 설명

개념 : http://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D

stack을 구현한 다음, 다음의 명령을 수행하는 프로그램을 작성하라.

  • PUSH x : x를 stack의 맨 위에 추가하고, stack의 크기를 1증가 시킨다. 여기서 x는 1이상 32767이하의 양의 정수다.
  • POP : stack의 맨 위의 원소를 반환하고, stack의 크기를 1 감소시킨다.
  • SIZE : stack의 크기를 반환한다.
  • CLEAR : stack의 크기를 0으로 만든다.
  • END : 프로그램을 종료한다.

 

입력 설명

입력은 여러개의 명령으로 주어진다.

각 명령에 예시는 Sample Input을 참조한다.

출력 설명

PUSH, CLEAR 명령에 대해서는 아무것도 출력하지 않는다.

POP 명령에 대해서는 맨 위에 있던 원소를 한 줄에 출력한다.

SIZE 명령에 대해서는 stack의 크기를 한 줄에 출력한다.

END의 경우는 프로그램을 종료하며 어떠한 것도 출력하지 않는다.

POP 명령을 수행할 때 할 때 stack의 크기가 0일 경우에는 "ERROR"를 출력하고, stack의 크기는 0으로 유지한다.

 

입력 예시 Copy

POP
PUSH 10
PUSH 40
POP
PUSH 25
PUSH 80
PUSH 70
POP
POP
CLEAR
POP
SIZE
END

출력 예시 Copy

ERROR
40
70
80
ERROR
0

출처/분류