만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

한 자리 수 수식 계산기

면접 대비

시간 제한1초메모리 제한128 MB

요약
한 자리 숫자와 덧셈, 뺄셈, 괄호로 이루어진 식을 매 줄마다 계산합니다.
난이도

보통10점 중 4점

유형
스택, 재귀
정답자
아직 제출이 없습니다

문제

다음 BNF(Backus Naur Form)에 가까운 문법으로 만들어진 수식의 값을 계산하는 프로그램을 작성한다.

expr ::= term | expr '+' term | expr '-' term
unary_op ::= '+' term | '-' term
term ::= '(' expr ')' | '(' unary_op ')' | literal
literal ::= [0-9]

수식 안에 공백은 없다. 수식은 (, ), +, -와 숫자 0부터 9까지로만 이루어진다. 입력으로 주어지는 수식은 모두 이 문법에 맞다고 가정해도 된다.

입력

입력은 한 줄에 수식 하나씩 주어지고, 각 줄은 줄바꿈으로 끝난다. 수식의 길이는 200을 넘지 않는다. 빈 줄은 없으며, 입력은 파일 끝까지 이어진다.

출력

각 수식마다 그 값을 정수로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    1
    (-2)+3
    (1-(2+3))
    (1-2+3)
    (1-(+(2-3)))
    
    예상 출력
    1
    1
    -4
    2
    2