For challenge 2 on your job post, your examples are listed as follows:
3 becomes 3
1 + 1 becomes (+ 1 1)
2 * 5 + 1 becomes (+ 1 (* 2 5))
2 * ( 5 + 1 ) becomes (* (+ 1 5) 2)
3 * x + ( 9 + y ) / 4 becomes (+ (* 3 x) (/ (+ 9 y) 4))
Do you care about the order of the operands in the resulting prefix string? Functionally, it doesn't matter, obviously, but your last example sets up the prefix string in a left-to-right operand order, whereas the previous examples set up the string in a right-to-left operand order.Just curious before I submit a solution. :)