Skip to content

Commit 30cb3a7

Browse files
committed
feat: add solution for grouping anagrams
1 parent 267b872 commit 30cb3a7

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution:
2+
def maxProfit(self, prices: list[int]) -> int:
3+
"""
4+
์ฃผ์‹ ๊ฐ€๊ฒฉ ๋ชฉ๋ก์—์„œ ์ตœ๋Œ€ ์ด์ต์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜.
5+
6+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(N)
7+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)
8+
9+
Args:
10+
prices (list[int]): ์ฃผ์‹ ๊ฐ€๊ฒฉ ๋ชฉ๋ก
11+
12+
Returns:
13+
int: ์ตœ๋Œ€ ์ด์ต
14+
"""
15+
min_price = prices[0]
16+
max_profit = 0
17+
for price in prices[1:]:
18+
max_profit = max(max_profit, price - min_price)
19+
min_price = min(min_price, price)
20+
return max_profit

โ€Žgroup-anagrams/kangdaia.pyโ€Ž

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution:
2+
def groupAnagrams(self, strs: list[str]) -> list[list[str]]:
3+
"""
4+
๋‹จ์–ด ๋ชฉ๋ก์—์„œ ์• ๋„ˆ๊ทธ๋žจ๋ผ๋ฆฌ ๊ทธ๋ฃนํ™”ํ•ด์„œ, ๊ทธ๋ฃนํ™”๋œ ๋‹จ์–ด ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜.
5+
6+
N์€ ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜, M์€ ๋‹จ์–ด์˜ ์ตœ๋Œ€ ๊ธธ์ด๋กœ ๊ฐ€์ •ํ•  ๋•Œ,
7+
์‹œ๊ฐ„ ๋ณต์žก๋„: O(N * M log M)
8+
๊ณต๊ฐ„ ๋ณต์žก๋„: O(N * M)
9+
10+
Args:
11+
strs (list[str]): ๋‹จ์–ด ๋ชฉ๋ก
12+
13+
Returns:
14+
list[list[str]]: ์• ๋„ˆ๊ทธ๋žจ ๊ทธ๋ฃนํ™”๋œ ๋‹จ์–ด ๋ชฉ๋ก
15+
"""
16+
seen = dict()
17+
for st in strs:
18+
st_key = "".join(sorted(st))
19+
if st_key in seen:
20+
seen[st_key].append(st)
21+
else:
22+
seen[st_key] = [st]
23+
return list(seen.values())

0 commit comments

Comments
ย (0)