Cette semaine, c'est Jordan qui vous propose un #KataOfTheWeek : RPN Calculator

Briefing du Kata : En notation polonaise inversée, les opérateurs suivent leurs opérandes ; par exemple, pour ajouter 3 et 4, on écrirait 3 4 + au lieu de 3 + 4. S'il y a plusieurs opérations, les opérateurs sont donnés immédiatement après leur deuxième opérande ; ainsi, l'expression écrite 3 - 4 + 5 en notation conventionnelle serait écrite 3 4 - 5 + en notation polonaise inversée : 4 est d'abord soustrait de 3, puis 5 y est ajouté. La notation polonaise inversée présente l'avantage de supprimer le recours aux parenthèses requises par la notation infixe. Alors que 3 - 4 × 5 peut également être écrit 3 - (4 × 5), cela signifie quelque chose de tout à fait différent de (3 - 4) × 5. En notation polonaise inversée, le premier pourrait être écrit 3 4 5 × -, ce qui signifie sans ambiguïté 3 (4 5 ×) - ce qui réduit à 3 20 - (qui peut encore être réduit à -17) ; ce dernier pourrait être écrit 3 4 - 5 × (ou 5 3 4 - ×, si le formatage utilisé est le même), ce qui signifie sans ambiguïté (3 4 -) 5 ×.

Plus d'information ici: https://en.wikipedia.org/wiki/Reverse_Polish_notation

Voici des exemples d'expressions :

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

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉