From 55473453398a0b650bd781da1e4230773d2731d3 Mon Sep 17 00:00:00 2001 From: 8804 <8804who@naver.com> Date: Fri, 5 Dec 2025 22:21:04 +0900 Subject: [PATCH 1/4] Week 5 --- best-time-to-buy-and-sell-stock/8804who.py | 1 + group-anagrams/8804who.py | 1 + 2 files changed, 2 insertions(+) diff --git a/best-time-to-buy-and-sell-stock/8804who.py b/best-time-to-buy-and-sell-stock/8804who.py index a41ce83349..381a1e0bd8 100644 --- a/best-time-to-buy-and-sell-stock/8804who.py +++ b/best-time-to-buy-and-sell-stock/8804who.py @@ -11,3 +11,4 @@ def maxProfit(self, prices: List[int]) -> int: answer=price-min_price return answer + diff --git a/group-anagrams/8804who.py b/group-anagrams/8804who.py index 276beb2d15..64ad391d8b 100644 --- a/group-anagrams/8804who.py +++ b/group-anagrams/8804who.py @@ -7,3 +7,4 @@ def groupAnagrams(self, strs: List[str]) -> List[List[str]]: return list(dic.values()) + From 48fbb834280deadb0a057fb97d113d8caedfa6a1 Mon Sep 17 00:00:00 2001 From: 8804 <8804who@naver.com> Date: Fri, 5 Dec 2025 22:21:16 +0900 Subject: [PATCH 2/4] Week 5 --- best-time-to-buy-and-sell-stock/8804who.py | 1 - group-anagrams/8804who.py | 1 - 2 files changed, 2 deletions(-) diff --git a/best-time-to-buy-and-sell-stock/8804who.py b/best-time-to-buy-and-sell-stock/8804who.py index 381a1e0bd8..a41ce83349 100644 --- a/best-time-to-buy-and-sell-stock/8804who.py +++ b/best-time-to-buy-and-sell-stock/8804who.py @@ -11,4 +11,3 @@ def maxProfit(self, prices: List[int]) -> int: answer=price-min_price return answer - diff --git a/group-anagrams/8804who.py b/group-anagrams/8804who.py index 64ad391d8b..276beb2d15 100644 --- a/group-anagrams/8804who.py +++ b/group-anagrams/8804who.py @@ -7,4 +7,3 @@ def groupAnagrams(self, strs: List[str]) -> List[List[str]]: return list(dic.values()) - From 5190fb08a5ffd20b553bd1e1808dde6584ebdedb Mon Sep 17 00:00:00 2001 From: 8804 <8804who@naver.com> Date: Fri, 12 Dec 2025 23:57:29 +0900 Subject: [PATCH 3/4] Week 5 --- implement-trie-prefix-tree/8804who.py | 39 +++++++++++++++++++++++++++ word-break/8804who.py | 15 +++++++++++ 2 files changed, 54 insertions(+) create mode 100644 implement-trie-prefix-tree/8804who.py create mode 100644 word-break/8804who.py diff --git a/implement-trie-prefix-tree/8804who.py b/implement-trie-prefix-tree/8804who.py new file mode 100644 index 0000000000..3514a16698 --- /dev/null +++ b/implement-trie-prefix-tree/8804who.py @@ -0,0 +1,39 @@ +class Trie: + + def __init__(self): + self.trie = {} + + def insert(self, word: str) -> None: + level = self.trie + + for i in range(len(word)+1): + if i==len(word): + level['end'] = 0 + break + if word[i] not in level: + level[word[i]] = {} + level = level[word[i]] + + def search(self, word: str) -> bool: + level = self.trie + + for char in word: + if i==len(word): + if 'end' in level: + return True + else: + return False + if word[i] not in level: + return False + level = level[word[i]] + + def startsWith(self, prefix: str) -> bool: + level = self.trie + + for i in range(len(prefix)+1): + if i==len(prefix): + return True + if prefix[i] not in level: + return False + level = level[prefix[i]] + diff --git a/word-break/8804who.py b/word-break/8804who.py new file mode 100644 index 0000000000..6341e2ca58 --- /dev/null +++ b/word-break/8804who.py @@ -0,0 +1,15 @@ +class Solution: + def wordBreak(self, s: str, wordDict: List[str]) -> bool: + dp = [False] * (len(s)+1) + dp[0] = True + + for i in range(len(s)): + if not dp[i]: + continue + for word in wordDict: + if i+len(word)>=len(s)+1: + continue + if s[i:i+len(word)] == word: + dp[i+len(word)] = True + + return dp[-1] \ No newline at end of file From 70841379c06334d44d7486acaa79427d1894143b Mon Sep 17 00:00:00 2001 From: 8804 <8804who@naver.com> Date: Sat, 13 Dec 2025 00:27:46 +0900 Subject: [PATCH 4/4] Week 5 --- word-break/8804who.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/word-break/8804who.py b/word-break/8804who.py index 6341e2ca58..5445df09d5 100644 --- a/word-break/8804who.py +++ b/word-break/8804who.py @@ -12,4 +12,5 @@ def wordBreak(self, s: str, wordDict: List[str]) -> bool: if s[i:i+len(word)] == word: dp[i+len(word)] = True - return dp[-1] \ No newline at end of file + return dp[-1] +