[LeetCode][Python3] 122. Best Time to Buy and Sell Stock II
2018. 11. 3. 21:22 |
프로그래밍/LeetCode
Problem :
https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/
My Solution :
class Solution:
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
profit = 0
n = len(prices)
i = 0
while True:
while i < n-1 and prices[i] >= prices[i+1]:
i += 1
j = i + 1
while j < n-1 and prices[j] <= prices[j+1]:
j += 1
if i < n and j < n:
profit += (prices[j] - prices[i])
else:
return profit
i = j + 1
Comment :
위 풀이는 이 문제를 처음 접했을 때 바로 떠올렸던 방법이다. 국지 최소 포인트와 국지 최대 포인트를 찾아서 차이를 더하는 방식이다. 그런데 풀고 나서 생각해보니 그냥 매 포인트마다 증가하면 더하는게 심플하겠더라.
My Solution2 :
class Solution:
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
profit = 0
for i in range(len(prices)-1):
if prices[i] < prices[i+1]:
profit += (prices[i+1] - prices[i])
return profit
'프로그래밍 > LeetCode' 카테고리의 다른 글
[LeetCode][Python3] 190. Reverse Bits (0) | 2018.11.04 |
---|---|
[LeetCode][Python3] 189. Rotate Array (0) | 2018.11.03 |
[LeetCode][Python3] 172. Factorial Trailing Zeroes (0) | 2018.11.03 |
[LeetCode][Python3] 171. Excel Sheet Column Number (0) | 2018.11.03 |
[LeetCode][Python3] 88. Merge Sorted Array (0) | 2018.11.03 |
[LeetCode][Python3] 118. Pascal's Triangle (0) | 2018.10.17 |
[LeetCode][Python3] 125. Valid Palindrome (0) | 2018.10.17 |
[LeetCode][Python3] 66. Plus One (0) | 2018.10.15 |
최근에 달린 댓글 최근에 달린 댓글