[code lang=“js“]
const f = a => {
const g = x => x[x.length – 1]; const b = {‚+‘:1, ‚-‚:1, ‚*‘:2, ‚/‘:2}; let c = [];
return a.split(“).reduce((a, d) => {
if (parseFloat(d)) a.push(d);
if (d in b) { while (g(c) in b && b[d] <= b[g(c)]) a.push(c.pop()); c.push(d); }
if (d == ‚(‚) c.push(d);
if (d == ‚)‘) { while (g(c) != ‚(‚) a.push(c.pop()); c.pop();}
return a; }, []).concat(c.reverse()).join(“);
};
[/code]