File tree Expand file tree Collapse file tree 2 files changed +21
-21
lines changed
best-time-to-buy-and-sell-stock Expand file tree Collapse file tree 2 files changed +21
-21
lines changed Original file line number Diff line number Diff line change
1
+ # 시간복잡도 O(n)
2
+ # 공간복잡도 O(1)
1
3
class Solution :
2
4
def maxProfit (self , prices : list [int ]) -> int :
3
- min_p = prices [0 ]
5
+ min_p = prices [0 ] # 최소 가격 설정 : 배열의 첫 번째 가격
4
6
cur = 0
5
7
max_p = 0
6
8
for n in prices :
7
- if n < min_p :
9
+ if n < min_p : # 현재 가격이 최소 가격보다 작다면 최소가격 갱신
8
10
min_p = n
9
- cur = n - min_p
10
- if max_p < cur :
11
- max_p = cur
11
+ cur = n - min_p # 현재 이익 계산
12
+ if max_p < cur : # 현재 이익과 최대로 얻을 수 있는 이익 비교
13
+ max_p = cur # 최대 이익 갱신신
12
14
13
15
return max_p
14
-
15
16
Original file line number Diff line number Diff line change
1
+ # 시간복잡도 O(n)
2
+ # 공간복잡도 O(1)
1
3
class Solution :
2
- def groupAnagrams (self , strs : list [str ]) -> list [list [str ]]:
3
- ans = {}
4
-
5
- for word in strs :
6
- # 단어의 문자를 정렬 후 키로 사용
7
- sortedWord = '' .join (sorted (word ))
8
- # 초기 리스트 생성
9
- if sortedWord not in ans :
10
- ans [sortedWord ] = []
11
- ans [sortedWord ].append (word )
12
-
13
- # 딕셔너리의 value를 list로 변환
14
- ansLst = list (ans .values ())
15
- return ansLst
16
-
4
+ def maxProfit (self , prices : list [int ]) -> int :
5
+ min_p = prices [0 ] # 최소 가격 설정 : 배열의 첫 번째 가격
6
+ cur = 0
7
+ max_p = 0
8
+ for n in prices :
9
+ if n < min_p : # 현재 가격이 최소 가격보다 작다면 최소가격 갱신
10
+ min_p = n
11
+ cur = n - min_p # 현재 이익 계산
12
+ if max_p < cur : # 현재 이익과 최대로 얻을 수 있는 이익 비교
13
+ max_p = cur # 최대 이익 갱신신
14
+
15
+ return max_p
You can’t perform that action at this time.
0 commit comments