Skip to content

Instantly share code, notes, and snippets.

@dlresende
Last active September 6, 2018 10:06
Show Gist options
  • Save dlresende/274194dd6ec993eb5ec5 to your computer and use it in GitHub Desktop.
Save dlresende/274194dd6ec993eb5ec5 to your computer and use it in GitHub Desktop.
RPN Calculator Kata

RPN Calculator Kata

A RPN calculator program computes expressions written in RPN (Reverse Polish Notation). A RPN expression (or a postfix expression) is one of the following:

  • a number X, in which case the value of the expression is that of X;
  • a sequence of the form E1 E2 O, where E1 and E2 are postfix expressions and O is an arithmetic operation; in this case, the value of the expression is that of E1 O E2

The following are RPN expressions:

  • 20 5 / => (20/5) = 4
  • 4 2 + 3 - => (4+2)-3 = 3
  • 3 5 8 * 7 + * => 3*((5*8)+7) = 141
  • 7 2 - 3 4 = 5 3 4

Suggested scenarios

  • Given a RPN Calculator when a digit is sent it should display the same digit
  • Given a RPN Calculator when some digits are sent it should display the number formed by those digits
  • Given a RPN Calculator when an operation (* + / -) is sent after two numbers it should display the result of that operation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment