동적프로그래밍12 C++ 198. House Robber(Leet Code) Leet Code_198. House Robber Dynamic Programming https://leetcode.com/problems/house-robber/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 최대 많은 돈을 훔치기 방법 1. 인접하지 않는 위치만 접근 가능 결과 최대 많은 돈을 훔치기 통과한 코드 class Solution { public: int rob(vector& nums) { int res = 0; if (nums.size() == 0) return res; else if (nums.size() == 1) { return nums[0]; } else if (nums.size() == 2) { return max(nums[0], nums[1]); }.. 2020. 6. 10. C++ 121. Best Time to Buy and Sell Stock(Leet Code) Leet Code_121. Best Time to Buy and Sell Stock Dynamic Programming https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 싸게 사서 비싸게 판 마진의 최대값 방법 1. 파는 값은 사는 값보다 비싸야한다. 결과 싸게 사서 비싸게 판 마진의 최대값 통과한 코드 class Solution { public: int maxProfit(vector& prices) { int n = 0; for (int i = 0; i < prices.size(); i++) { int buy = prices[i]; for (int j = i + 1.. 2020. 6. 10. C++ 70. Climbing Stairs(Leet Code) Leet Code_70. Climbing Stairs Dynamic Programming https://leetcode.com/problems/climbing-stairs/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 n번째 계단을 올라가는 최대 방법 수 구하기 방법 1. 1 또는 2 steps로만 올라갈 수 있다. 결과 n번째 계단을 올라가는 최대 방법 수 리턴 통과한 코드 class Solution { public: int climbStairs(int n) { if(n 2020. 6. 10. C++ 53. Maximum Subarray(Leet Code) Leet Code_53. Maximum Subarray Dynamic Programming https://leetcode.com/problems/maximum-subarray/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 SubArray중 합계가 큰 값을 리턴 방법 1. SubArray중 합계가 큰 값을 리턴 결과 SubArray중 합계가 큰 값을 리턴 통과한 코드 class Solution { public: int maxSubArray(vector& nums) { int nMax = INT_MIN; int n = INT_MIN; for (int i = 0; i < nums.size(); i++) { n = nums[i]; for (int j = i + 1; j nMax).. 2020. 6. 8. 이전 1 2 3 다음