File tree Expand file tree Collapse file tree
best-time-to-buy-and-sell-stock Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,3 +23,25 @@ def maxProfit(self, prices: List[int]) -> int:
2323
2424 # ์ต์ข
์ ์ผ๋ก ๊ธฐ๋ก๋ max_profit์ด ๋ต
2525 return max_profit
26+
27+
28+ # 7๊ธฐ ํ์ด
29+ # ์๊ฐ ๋ณต์ก๋: O(n)
30+ # - prices์ ๊ธธ์ด n๋งํผ ์ํ
31+ # ๊ณต๊ฐ ๋ณต์ก๋: O(1)
32+ # - ์์๋ง ์ฌ์ฉ
33+ class Solution :
34+ # ์ฒซ๋ ๋ถํฐ ๋งค์ผ์ ๊ฐ๊ฒฉ์ด ์ต์์ธ์ง, ์ต๋์ธ์ง๋ฅผ ํ๋จํ์ฌ ๊ฐ์ฅ ํฐ ์ด์ต์ ๋ผ ์ ์๋ ๊ฐ์ ๊ณ์ฐํ๋ค.
35+ # ์ฒซ๋ ๋ถํฐ ์๊ฐ ์์๋๋ก ํ์ธํด์ผ ํจ(๊ธฐ๊ฐ ์ค ๊ฐ์ฅ ์ต๋๊ฐ์ด ๊ฐ์ฅ ์ต์๊ฐ๋ณด๋ค ๋น ๋ฅผ ์๋ ์๊ธฐ ๋๋ฌธ)
36+ def maxProfit (self , prices : List [int ]) -> int :
37+ min_sell_price = 10 ** 4 # ๋ฌธ์ ์กฐ๊ฑด์์ 10์ 4์น์ด ์ต๋๋ผ๊ณ ํ์ฌ ์ด๋ฅผ min_sell_price์ ์ด๊ธฐ๊ฐ์ผ๋ก
38+ max_profit = 0
39+
40+ for price in prices :
41+ # ๋งค์ผ ์ํํ๋ฉฐ ์ง๋๊ฐ ์๊ฐ๋ค ์ค์ ๊ฐ์ฅ ์์ price์ธ์ง ํ์ธํ์ฌ ์
๋ฐ์ดํธ
42+ min_sell_price = min (min_sell_price , price )
43+
44+ # ๋งค์ผ ์ํํ๋ฉฐ ์ค๋ ์ป์ ์ ์๋ profit๊ณผ ์ด์ ์ ์ป์๋ max_profit์ ๋น๊ตํ์ฌ ์
๋ฐ์ดํธ
45+ max_profit = max (max_profit , price - min_sell_price )
46+
47+ return max_profit
You canโt perform that action at this time.
0 commit comments