Reverse Polish 표기법으로 작성된 문자열을 평가 하고 결과를 출력해야합니다.
프로그램은 입력을 승인하고 출력을 리턴해야합니다. 입력 / 출력을 수신하는 기능이없는 프로그래밍 언어의 경우 readLine / print와 같은 기능을 가정 할 수 있습니다.
프로그램에서 "eval"을 사용할 수 없습니다.
숫자와 연산자는 하나 이상의 공백으로 구분됩니다 .
최소한 +,-, * 및 / 연산자를 지원해야합니다.
음수 (예 : -4
와 동일하지 않음 0 4 -
) 및 부동 소수점 숫자에 대한 지원을 추가해야 합니다.
입력이 유효하다고 가정하고 위의 규칙을 따릅니다.
테스트 사례
입력:
-4 5 +
산출:
1
입력:
5 2 /
산출:
2.5
입력:
5 2.5 /
산출:
2
입력:
5 1 2 + 4 * 3 - +
산출:
14
입력:
4 2 5 * + 1 3 2 * + /
산출:
2
eval
숫자를 파싱 하기 위해 어떤 언어를 사용해야 합니까? 꽤 깨진 것 같습니다. (GolfScript는 내가 아는 한 그러한 언어 중 하나입니다. 나도 깨진 것 같습니다.)
eval(s)
에서보다 낫다float(s)
~
입니다. :-P