si ton opération est bien parenthèsée - cad (1+(2*3)) tu peux t'en sortir facilement en jouant avec 2 listes, une pour mettre les chiffres et l'autre qui stocke les symboles et en lisant caractère par caractère
exemple simple :
[ ]
[ '(' ]
[1]
[ '(' ]
[1]
[ '(', '+' ]
[1]
[ '(', '+', '(']
[1, 2]
[ '(', '+', '(']
[1, 2]
[ '(', '+', '(', '*']
[1, 2, 3]
[ '(', '+', '(', '*']
[1, 2, 3]
[ '(', '+', '(', '*', ')']
la tu arrive à une parenthèse fermante, tu dépile tout jusqu'a la parenthèse ouvrante. les opérateurs passent dans l'autre liste :
[1, 2, 3, *]
[ '(', '+']
et enfin :
[1, 2, 3, *]
[ '(', '+', ')']
[1, 2, 3, *, +]
[ ]
Sans les parenthèses tu peux t'en sortir aussi je pense mais faut adapter l'algo