Notación posfija (Parte 2: de infija a posfija)
Dada una cadena que representa una expresión infija, devuelve el equivalente en notación posfija. Los operandos mantienen su orden original y se eliminan los paréntesis. Solo cambia el orden de los operadores. Los operandos y operadores estarán separados por un solo espacio, con la excepción de los paréntesis (consulta los ejemplos).
Ejemplos
infix_to_postfix("7 + 3") ➞ "7 3 +"
infix_to_postfix("(8 + 4) / 4") ➞ "8 4 + 4 /"
infix_to_postfix("4 * (5 - (7 + 2))") ➞ "4 5 7 2 + - *"
infix_to_postfix("3 + 4 ** 2") ➞ "3 4 2 ** +"Notas
Convertir expresiones infijas a expresiones posfijas es un ejemplo del análisis sintáctico por precedencia de operadores, cuyo ejemplo más famoso es el algoritmo "shunting-yard" de Dijkstra (consulta la pestaña de recursos para obtener más información).