•
문제 설명 : 주식의 가격을 리스트로 제공되었을 때, 가장 크게 얻을 수 있는 차익을 반환
•
풀이 방법
◦
차익을 가장 크게 하기 위해서는 최저 가격과 가장 크게 차이나는 시점에 팔아야한다.
◦
따라서, 매 가격을 순회할때마다 최저 가격 여부와 차익을 갱신하는 방향으로 진행했다.
•
성공 코드
class Solution:
def maxProfit(self, prices: List[int]) -> int:
# 최저 가격을 설정
min_price = prices[0]
# 가격을 순회하면서, 가장 높은 이득의 가격을 설정
result = 0
# 제공된 Price 모두 순회 -> O(N)
for price in prices:
# 최저 가격 확인
min_price = min(min_price, price)
# 지금까지의 최저 가격 - 현재 가격이 가장 높은 이득일 때 반환 값 재설정
if price - min_price > result:
result = price - min_price
return result
Python
복사