본문 바로가기
Coding Test/LeetCode

[LeetCode] 121. Best Time to Buy and Sell Stock [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Best Time to Buy and Sell Stock - LeetCode>

1. 문제 (주식을 사고팔기 가장 좋은 시점)

한 번의 거래로 낼 수 있는 최대 이익을 산출하라.

2. 풀이

  • 배열을 이용한 풀이
  1. 최솟값을 계속 갱신하면서 현재값과 최솟값의 차이를 통해 최대 이익을 도출한다.

3. 코드

  • 배열을 이용한 풀이
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        # 종료 조건
        if len(prices) < 2:
            return 0

        ret, minP = 0, 100000
        for price in prices:
            if minP < price:
                ret = max(ret, price-minP)
            else:
                minP = price

        return ret
  • 결과 :
방식 Status Runtime Memory Language
배열 [Accepted] 1160 ms 25.1 MB python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글