Menu
CoddyTech

Evaluate Reverse Polish Notation

보통스택python iconjava iconcpp iconc iconjs icon+10

역폴란드 표기법으로 된 산술식을 토큰 배열로 받습니다. 각 연산자는 두 피연산자 바로 뒤에 오므로, 3 4 +는 3 + 4를 의미하고 3 4 + 2 *는 괄호 없이 (3 + 4) * 2를 의미합니다. 각 토큰은 정수이거나 연산자 +, -, *, / 중 하나입니다.

식의 값을 반환하세요. 나눗셈은 0을 향해 버림합니다. 즉, 7 / 2는 3이고 -7 / 2는 -3입니다.

함수

evalRPN(tokens: string-array) → integer
tokensstring-array
표현식의 숫자와 연산자를 순서대로
반환값integer
표현식의 값

제약 조건

  • 1 ≤ tokens.length ≤ 104
  • 각 토큰은 +, -, *, / 또는 -200부터 200까지의 정수이며, 10진수로 표기되고 음수인 경우 앞에 빼기 기호가 붙습니다.
  • tokens는 역폴란드 표기법에서 유효한 표현식입니다.
  • 0으로 나누는 일은 발생하지 않으며, 모든 중간값과 최종값은 -231보다 크고 231보다 작습니다.

예제

입력
tokens = ["8", "3", "-", "4", "*"]
출력
20
설명
-는 8에 먼저, 그다음 3에 적용되므로 5가 됩니다. -5가 아닙니다. 그런 다음 *는 그 5에 4를 곱하므로 20이 됩니다.
challenge icon

후속 질문

의미가 달라지는 경우에만 괄호를 추가하여 (3 + 4) * 2와 같은 일반적인 표기법으로 식을 다시 만들 수 있나요?

코드 초기화
def evalRPN(tokens):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자

tokens = ["8", "3", "-", "4", "*"]

예상 출력

20