문제 설명
후위 표현식(Postfix Notation)은 연산자를 피연산자 뒤에 표기하는 수식 표현 방식입니다. 후위 표현식은 괄호 없이도 연산 순서를 명확히 지정할 수 있다는 장점이 있습니다.
공백으로 구분된 후위 표현식 expr이 주어질 때 후위 표현식을 계산한 결과를 반환하는 solution 함수를 작성하시오.
expr의 모든 피연산자는 한 자리의 자연수로만 주어지며, 모든 연산자는 +, -, *, / 중 하나로만 주어집니다.
이때 /는 자연수 몫 나눗셈을 의미합니다.
제한 사항
expr의 길이는 1 이상 1,000 이하입니다.expr은 항상 유효한 후위 표현식이 입력으로 주어집니다.expr의 모든 피연산자와 연산자는 공백으로 구분됩니다.expr의 모든 중간 계산 과정은 0보다 크고 2,147,483,647 보다 작은 자연수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | expr | return |
|---|---|---|
| 1 | "3 4 +" | 7 |
| 2 | "5 1 2 + 4 * + 3 -" | 14 |
| 3 | "9 2 / 3 2 * +" | 10 |
1번 테스트케이스 설명
-
후위 표현식의 계산 과정은 아래와 같습니다.
메모리 입력 계산 과정 [] "3" [3] "4" [3,4] "+" 3+4=7 [7] -
따라서 최종 계산 결과인 7을 반환합니다.
2번 테스트케이스 설명
-
후위 표현식의 계산 과정은 아래와 같습니다.
메모리 입력 계산 과정 [] "5" [5] "1" [5,1] "2" [5,1,2] "+" 1+2=3 [5,3] "4" [5,3,4] "*" 3*4=12 [5,12] "+" 5+12=17 [17] "3" [17,3] "-" 17-3=14 [14] -
따라서 최종 계산 결과인 14를 반환합니다.
3번 테스트케이스 설명
-
후위 표현식의 계산 과정은 아래와 같습니다.
메모리 입력 계산 과정 [] "9" [9] "2" [9,2] "/" 9/2=4 [4] "3" [4,3] "2" [4,3,2] "*" 3*2=6 [4,6] "+" 4+6=10 [10] -
따라서 최종 계산 결과인 10을 반환합니다.