rueki

LeetCode - 121. Best Time to Buy and Sell Stock 본문

python/알고리즘 문제풀이

LeetCode - 121. Best Time to Buy and Sell Stock

륵기 2020. 8. 31. 20:14
728x90
반응형

 

요약하면 제일 싼 가격에서 사서 제일 비쌀 지점에 파는 문제이다.

Ex1을 보면 output이 5인데 제일 쌀 때인 1일 때 사서 6일 때 팔아서 최대의 이익을 남기게 된다.

 

Ex2에서는 1일때 사면, 그 뒤의 시점이 없어서 출력이 불가능하다.

풀이는 간단하다. 최소값을 임의로 잡고 하나씩 값을 비교해서 return 받는 방식으로 생각하면 될 것 같다.

 

class Solution(object):
    def maxProfit(self, number):
        min_num = sys.maxsize
        profit = 0

        for num in number:
            min_num = min(num, min_num)
            profit = max(profit, num-min_num)
            
        return profit
728x90
반응형
Comments