시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 4086 | 224 | 90 | 8.885% |
당신은 사칙연산을 할 줄 아는가? 식이 주어지면, 그 식을 계산하여서 사칙연산을 할 줄 안다는 것을 보여라.
이 문제에서 계산할 식은 다음의 문법으로 정의되는 <expr>
이다.
<digit> = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' <number> = <digit> | <number> <digit> <expr> = <number> | <expr> '+' <expr> | <expr> '-' <expr> | <expr> '*' <expr> | <expr> '/' <expr> | '(' <expr> ')'
첫째 줄에 계산해야 하는 식이 주어진다. 식은 ()*/+-0123456789
의 문자로만 이루어져 있으며, 길이는 1,000자 이하이다.
식의 계산 결과를 출력한다. 만약 식이 올바르지 않아 계산할 수 없는 경우라면 ROCK
을 출력한다.
()
) 안의 식 → 곱하기(*
)와 나누기(/
) → 더하기(+
)와 빼기(-
) 순서대로 계산하며, 같은 순위의 연산이 여러 개일 경우 왼쪽부터 순서대로 계산한다.5+(1+2)*3
14
(+6+3)
ROCK