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 1+ class Solution :
2+ def maxProfit (self , prices : List [int ]) -> int :
3+ """
4+ 지금까지 본 가격 중 가장 작은 값을 계속 저장하고
5+ 현재 가격에서 그 최소값을 뺀 값으로 최대 이익을 갱신합니다.
6+ 한 번 순회하면서 최대 profit을 찾는 방식입니다
7+ """
8+ min_price = float ('inf' )
9+ max_profit = 0
10+
11+ for price in prices :
12+ min_price = min (min_price , price )
13+ max_profit = max (max_profit , price - min_price )
14+
15+ return max_profit
16+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def containsDuplicate (self , nums : List [int ]) -> bool :
3+ """
4+ nums를 set으로 바꿨을 때 길이가 줄어들면 배열 안에 중복 값이 있다는 의미입니다.
5+ """
6+ if len (nums ) != len (set (nums )):
7+ return True
8+ else :
9+ return False
10+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def maxSubArray (self , nums : List [int ]) -> int :
3+ """
4+ 현재까지 이어서 만든 부분합이 음수면 버리고 다시 시작하여 갱신 하는 것입니다.
5+ """
6+ now_sum = nums [0 ]
7+ max_sum = nums [0 ]
8+
9+ for num in nums [1 :]:
10+ now_sum = max (num , now_sum + num )
11+ max_sum = max (max_sum , now_sum )
12+ return max_sum
13+
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def twoSum (self , nums : List [int ], target : int ) -> List [int ]:
3+ """
4+ nums를 앞에서부터 하나씩 보면서 현재 값(nums[i])과 더해서 target이 되는 값이 뒤쪽 배열에 있는지 확인합니다.
5+ 있으면 그 값의 index를 찾아서 같이 반환합니다.
6+ """
7+ dp = []
8+ for i in range (len (nums )):
9+ if (target - nums [i ]) in nums [i + 1 :]:
10+ return [i , nums [i + 1 :].index (target - nums [i ]) + i + 1 ]
11+
You can’t perform that action at this time.
0 commit comments