File tree Expand file tree Collapse file tree 1 file changed +16
-15
lines changed Expand file tree Collapse file tree 1 file changed +16
-15
lines changed Original file line number Diff line number Diff line change 1- # 시간복잡도 O(n)
2- # 공간복잡도 O(1)
1+ #시간복잡도 O(n * klogk)
2+ #공간복잡도 O(n * k)
3+ # => n개의 단어 * 각 단어의 k만큼의 길이
34class Solution :
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
16-
5+ def groupAnagrams (self , strs : list [str ]) -> list [list [str ]]:
6+ ans = {}
177
8+ for word in strs :
9+ # 단어의 문자를 정렬 후 키로 사용
10+ sortedWord = '' .join (sorted (word )) # sorted()의 시간복잡도 : O(klogk)
11+ # 초기 리스트 생성
12+ if sortedWord not in ans :
13+ ans [sortedWord ] = []
14+ ans [sortedWord ].append (word )
1815
16+ # 딕셔너리의 value를 list로 변환
17+ ansLst = list (ans .values ())
18+ return ansLst
19+
You can’t perform that action at this time.
0 commit comments