ONP - Transform the Expression

Transform the algebraic expression with brackets into RPN form (Reverse Polish Notation). Two-argument operators: +, -, *, /, ^ (priority from the lowest to the highest), brackets ( ). Operands: only letters: a,b,...,z. Assume that there is only one RPN form (no expressions like a*b*c).


t [the number of expressions <= 100]
expression [length <= 400]
[other expressions]

Text grouped in [ ] does not appear in the input file.


The expressions in RPN form, one per line.




hide comments
x0r19x91: 2018-03-22 15:05:30

0.00 sec in ASM

hello_world123: 2018-03-17 09:40:34

Solved without stack data structure !!!

stevefan1999: 2018-02-08 10:16:33

You can try the Shunting Yard approach, or even go for RD parsing using a LL(k) grammar.
Shunting yard is...best for this kind of question, parsing mathematical expression and such, but kind of useless in real applications. Oh if I do remember correct, its complexity is O(n).

srjsunny: 2018-02-05 21:15:08

no need to consider the special cases i.e. when parenthesis are not there.

hsraktu: 2018-01-26 21:51:20

Since expression is given in fully parenthesised format (as in examples) there is no need to take care of priorities of operators...

kimchiboy03: 2018-01-16 12:20:18

A stack is not required in this problem. However, it is easier to use a stack!

Last edit: 2018-01-16 12:20:45
anaphase21: 2018-01-06 04:27:05

AC in one go (0.08s with Java)

Last edit: 2018-01-06 04:27:44
spartax: 2018-01-05 06:51:25

Stacks are required always

spartax: 2018-01-05 06:49:19

AC using assembly

abigail_ii: 2017-12-28 20:14:11

@ajay_raj_: You don't need a stack. I've solved mine using regular expressions and recursion.

Added by:mima
Time limit:5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET

Problem's scores 1 vote

Concept difficulty
Concept difficulty 22%
Implementation difficulty
Implementation difficulty 22%
122 4