2015 C Chapter 4 (Week 07-09)

From: 2015-04-20 00:00:00 To: 2015-05-17 00:00:00 Now: 2024-11-21 21:46:42 Status: Public

C - 연습 4.3 역 폴란드 표기법을 따르는 수식 계산하기

Time Limit: 1s Memory Limit: 128MB

Submissions: 1139 Solved: 314
Description

산술 수식은 인간에게는 자연스러우나, 컴퓨터에게는 조금 해석하기가 힘듭니다. 왜냐하면 연산의 순서가 좌->우로 단방향으로 이루어지는 것이 아니라, 괄호로 인해 왔다갔다 하기 때문이죠. 그래서 컴퓨터는 역 폴란드 표기법을 사랑스러워 합니다.

역 폴란드 표기법은 책 74 페이지와 같이 (책 없는 사람은 PDF라도 보세요!) 이항 연산의 경우 v1 v2 op (예: 3 4 +) 연산자를 우측에 표기합니다. 이를 이용하면 좌에서부터 우까지 차근차근 읽어나가면서 산술 연산이 가능해집니다.

사실 기본적인 역 폴란드 표기법을 따르는 계산기는 책에서 구현을 해 놓았습니다.

하지만, 몇가지 연산자가 구비되어 있지 않기에 이번 문제에서 여러분은 modulo (%) 연산이 포함된 역 폴란드 표기법을 따르는 수식을 계산해 보십시오.

Input
  • * Line 1 : 문자열 S
    • - S : Polish notaion string + modulo operator (%) ( 책 74페이지 참고 )
    • 최대 100글자
Output
  • * Line 1 : 결과 값 i
    • i : 자연수
    • 32bit의 int 범위 이내 값
Sample Input
8 17 + 28 % 87 + 42 14 27 - - +
Sample Output
167
Hint
8 17 + 28 % 87 + 42 14 27 - - + 수식은 다음과 같이 계산됩니다.

------  stack  --------  op

8

8 17

8 17 +			8 + 17 = 25

25 28

25 28 %			25 % 28 = 25

25 87

25 87 +			25 + 87 = 112

112 42

112 42 14

112 42 14 27

112 42 14 27 -		14 - 27 = -13

112 42 -13 -		42 - (-13) = 55

112 55 +		112 + 55 = 167