업데이트:

최대 1 분 소요

링크

https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/?envType=study-plan-v2&envId=top-interview-150

풀이

주어진 배열 prices 에서 최적의 시기에 매입하고 매각하여 이익을 최대화해야 하는 문제.
단, 이전 문제와는 다르게 여러번 매입하고 매각할 수 있고, 매입한날에 매각할 수 있다.

  1. 이전 가격과 현재 가격을 비교하여 매각한다.
    1. 이전 가격이 더 낮다면 가격이 상승한 것이므로 매각한다.
    2. 이전 가격이 더 높다면 가격이 하락한 것이므로 매입도 매각도하지 않는다.

코드

Python

class Solution(object):
    def maxProfit(self, prices):
        res = 0
        for i in range(1, len(prices)):
            if prices[i] > prices[i-1] :
                res += prices[i] - prices[i-1]
        
        return res

카테고리:

업데이트:

댓글남기기