Skip to content

Commit fd2cd7a

Browse files
committed
word-break solution
1 parent 6544db9 commit fd2cd7a

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

โ€Žword-break/jungsiroo.pyโ€Ž

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution:
2+
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
3+
# DP๋ฅผ ํ™œ์šฉํ•œ ๋ฌธ์ œ
4+
5+
"""
6+
KMP๋‚˜ Rabin Karp๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‘ธ๋Š” ๋ฌธ์ œ์ธ ์ค„ ์•Œ์•˜์œผ๋‚˜ ์ „ํ˜€ ์•„๋‹Œ ๋ฌธ์ œ
7+
neetcode์˜ ๋„์›€์„ ๋ฐ›์•˜์Œ
8+
9+
๊ณ„์† ์ˆœํšŒ๋ฅผ ํ•˜๋ฉด์„œ if dp[j]๋ฅผ ํ†ตํ•ด ๊ธธ์ด๋งŒํผ ๋Š์–ด์ฃผ๊ณ  word_set์— ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•จ
10+
Time Complexity : O(n^2)
11+
Space Complexity : O(n)
12+
"""
13+
14+
word_set = set(wordDict)
15+
n = len(s)
16+
17+
dp = [False] * (n + 1)
18+
dp[0] = True
19+
20+
for i in range(1, n + 1):
21+
for j in range(i):
22+
if dp[j] and s[j:i] in word_set:
23+
dp[i] = True
24+
break
25+
26+
return dp[n]
27+

0 commit comments

Comments
ย (0)