|
| 1 | +class Solution: |
| 2 | + def wordBreak(self, s: str, wordDict: List[str]) -> bool: |
| 3 | + word_set = set(wordDict) |
| 4 | + dp = [False] * (len(s) + 1) |
| 5 | + dp[0] = True |
| 6 | + |
| 7 | + for i in range(1, len(s) + 1): |
| 8 | + for j in range(i): |
| 9 | + if dp[j] and s[j:i] in word_set: |
| 10 | + dp[i] = True |
| 11 | + break |
| 12 | + |
| 13 | + return dp[len(s)] |
| 14 | + |
| 15 | + |
| 16 | +""" |
| 17 | +================================================================================ |
| 18 | +νμ΄ κ³Όμ |
| 19 | +================================================================================ |
| 20 | +
|
| 21 | +[λ¬Έμ μ΄ν΄] |
| 22 | +ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
| 23 | +1. λ¬Έμμ΄ sμ μ¬μ wordDictκ° μ£Όμ΄μ§ |
| 24 | +2. sλ₯Ό μ¬μ μ μλ λ¨μ΄λ€λ‘ λΆν ν μ μλμ§ νλ¨ |
| 25 | +
|
| 26 | + μμ 1: s = "leetcode", wordDict = ["leet", "code"] |
| 27 | + β True ("leet" + "code") |
| 28 | +
|
| 29 | + μμ 2: s = "catsandog", wordDict = ["cats", "dog", "sand", "and", "cat"] |
| 30 | + β False (μ΄λ»κ² λλ λ μ λ¨) |
| 31 | +
|
| 32 | +
|
| 33 | +[μ κ·Ό λ°©λ²] DP |
| 34 | +ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
| 35 | +3. dp[i] = s[0:i]λ₯Ό μ¬μ λ¨μ΄λ€λ‘ λΆν κ°λ₯νκ°? |
| 36 | +
|
| 37 | +4. μ νμ: dp[i] = dp[j] and s[j:i] in word_set (μ΄λ€ jμ λν΄) |
| 38 | + - dp[j]κ° Trueμ΄κ³ , s[j:i]κ° μ¬μ μ μμΌλ©΄ dp[i] = True |
| 39 | +
|
| 40 | +5. μμ: s = "leetcode" |
| 41 | +
|
| 42 | + l e e t c o d e |
| 43 | + 0 1 2 3 4 5 6 7 8 |
| 44 | + T ? ? ? T ? ? ? T |
| 45 | + β β β |
| 46 | + λΉλ¬Έμμ΄ "leet" "code" |
| 47 | +
|
| 48 | + dp[4] = dp[0] + "leet" β True |
| 49 | + dp[8] = dp[4] + "code" β True |
| 50 | +
|
| 51 | +
|
| 52 | +[볡μ‘λ λΆμ] |
| 53 | +ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |
| 54 | +6. μκ°λ³΅μ‘λ: O(nΒ² Γ m) |
| 55 | + - n: λ¬Έμμ΄ κΈΈμ΄ |
| 56 | + - m: νκ· λ¨μ΄ κΈΈμ΄ (ν΄μ λΉκ΅) |
| 57 | +
|
| 58 | +7. 곡κ°λ³΅μ‘λ: O(n) |
| 59 | + - dp λ°°μ΄ ν¬κΈ° |
| 60 | +""" |
0 commit comments