티스토리 뷰

반응형

 

leetCode 5일차 리뷰 입니다.

문제 이름은 Best Time to Buy and Sell Stock II

 

- 문제

 

 

- 풀이

 

문제를 잘 읽어보면 생각보다 쉽게 문제를 풀 수 있는 방법을 찾을 수 있습니다.

 

배열의 1번째 index부터 시작해서 이전 숫자보다 크면 두개의 차이를 계속 더해나가면 문제에서 의도하는 해를 구 할 수 있죠. 문제에서 몇일에사서 가장 비싼일에 판다고 했지만 그 차이는 하루하루의 차이를 더한것과 같기 때문이죠

그래서 문제는 아래와 같이 풀 수 있습니다.

 

class Solution {
    public int maxProfit(int[] prices) {
	   int r = 0;
	   for(int i=1; i<prices.length; i++) 
		  if(prices[i] > prices[i-1]) 
			  r += prices[i] - prices[i-1];
	   return r;
    }
}

 

처음에는 어떻게 풀지 고민했는데 문제를 이해하니 상당히 간단하게 풀리는 문제였습니다.

 

반응형

'알고리즘 > LeetCode 공부' 카테고리의 다른 글

[Leet Code] Java - Counting Elements  (0) 2020.04.10
[LeetCode] Java - Group Anagrams  (0) 2020.04.08
[LeetCode] Java - Move Zeroes  (0) 2020.04.06
[LeetCode] Java - Maximum Subarray  (1) 2020.04.05
[LeetCode] Java - Happy Number  (0) 2020.04.02
댓글