Skip to content

Commit c001d29

Browse files
Create taurus09318976.py
1 parent a72fed6 commit c001d29

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

โ€Žword-break/taurus09318976.py

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
'''
2+
์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด s๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‹จ์–ด ์‹œํ€€์Šค๋กœ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ž„
3+
์ด๋•Œ ๋ชจ๋“  ๋‹จ์–ด๋Š” ์ฃผ์–ด์ง„ ์‚ฌ์ „(wordDict)์— ํฌํ•จ๋˜์–ด์•ผ ํ•จ
4+
5+
Example 1.์˜ ์˜ˆ๋ฅผ ๋“ค๋ฉด
6+
dp = [True, False, False, False, False, False, False, False, False]
7+
์ธ๋ฑ์Šค: 0 1 2 3 4 5 6 7 8
8+
์˜๋ฏธ: "" "l" "le" "lee" "leet" "leetc" "leetco" "leetcod" "leetcode"
9+
๊ฐ€๋Šฅํ•œ ๋‹จ์–ด ๊ธธ์ด: l=1~4 l=1~4 l=1~4 l=4 l=1~4 l=1~4 l=1~4 l=4
10+
11+
dp[i]๊ฐ€ True๊ฐ€ ๋˜๋Š” ์กฐ๊ฑด:
12+
dp[i-l]์ด True์ด๊ณ , s[i-l:i]๊ฐ€ ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด์ผ ๋•Œ
13+
์˜ˆ์‹œ์—์„œ i=4์™€ i=8์—์„œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์–ด True๋กœ ๋ณ€๊ฒฝ๋จ
14+
15+
'''
16+
17+
class Solution:
18+
def wordBreak(self, s: str, wordDict: List[str]) -> bool:
19+
word_set = set(wordDict) # ๋‹จ์–ด ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ง‘ํ•ฉ์œผ๋กœ ๋ณ€ํ™˜
20+
if not word_set: # ์‚ฌ์ „์ด ๋น„์–ด์žˆ์œผ๋ฉด ํ•ญ์ƒ False
21+
return False
22+
23+
max_len = max(len(word) for word in word_set) # ์‚ฌ์ „์—์„œ ๊ฐ€์žฅ ๊ธด ๋‹จ์–ด์˜ ๊ธธ์ด ๊ตฌ๋ถ„
24+
dp = [False] * (len(s) + 1) # dp[i]๋Š” ๋ฌธ์ž์—ด s์˜ ์ฒซ i๊ธ€์ž๊ฐ€ ๋ถ„ํ•  ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ์ €์žฅ
25+
dp[0] = True # ๋นˆ ๋ฌธ์ž์—ด์€ ํ•ญ์ƒ ๋ถ„ํ•  ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ True
26+
27+
for i in range(1, len(s) + 1): # ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ์œ„์น˜๋ฅผ ์ˆœํšŒํ•จ
28+
for l in range(1, max_len + 1): # ๋‹จ์–ด ๊ธธ์ด๋ฅผ 1๋ถ€ํ„ฐ max_len๊นŒ์ง€ ํ™•์ธํ•จ
29+
if i < l: # ํ˜„์žฌ ์œ„์น˜๋ณด๋‹ค ๋‹จ์–ด ๊ธธ์ด๊ฐ€ ๊ธธ๋ฉด ํŒจ์Šค
30+
break
31+
if dp[i - l] and s[i-l:i] in word_set: # ์ด์ „ ์œ„์น˜๊ฐ€ True์ด๊ณ , ํ˜„์žฌ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์ด ์‚ฌ์ „์— ์žˆ์œผ๋ฉด True๋กœ ํ‘œ์‹œํ•จ
32+
dp[i] = True
33+
break # ํ•˜๋‚˜๋ผ๋„ ์„ฑ๊ณตํ•˜๋ฉด ๋” ํ™•์ธํ•  ํ•„์š” ์—†์Œ
34+
35+
return dp[-1] # ์ตœ์ข… ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

0 commit comments

Comments
ย (0)