Mastering Dynamic Programming: The Principle of Optimality and Memoization | SWE180 Engineering Articles | SWE180