From b4fec3bc0fe647df4ac4b4409166b00a93082f6b Mon Sep 17 00:00:00 2001 From: BangDori Date: Fri, 6 Jun 2025 12:45:10 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[=EA=B0=95=EB=B3=91=EC=A4=80]=20Word=20Brea?= =?UTF-8?q?k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangdori/139.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 bangdori/139.js diff --git a/bangdori/139.js b/bangdori/139.js new file mode 100644 index 0000000..2a8bb8c --- /dev/null +++ b/bangdori/139.js @@ -0,0 +1,23 @@ +/** + * @param {string} s + * @param {string[]} wordDict + * @return {boolean} + */ +var wordBreak = function (s, wordDict) { + const n = s.length; + const wordSet = new Set(wordDict); + + const dp = Array(n + 1).fill(false); + dp[0] = true; + + for (let i = 1; i <= n; i++) { + for (let j = 0; j < i; j++) { + if (dp[j] && wordSet.has(s.substring(j, i))) { + dp[i] = true; + break; + } + } + } + + return dp[n]; +}; From a75adb9ad181623dc614193d870faace0e0336a9 Mon Sep 17 00:00:00 2001 From: BangDori Date: Fri, 6 Jun 2025 12:57:56 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=8B=9C=EA=B0=84=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangdori/139.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bangdori/139.js b/bangdori/139.js index 2a8bb8c..4c5d34e 100644 --- a/bangdori/139.js +++ b/bangdori/139.js @@ -7,14 +7,18 @@ var wordBreak = function (s, wordDict) { const n = s.length; const wordSet = new Set(wordDict); + let maxLength = 0; + for (const word of wordSet) { + maxLength = Math.max(maxLength, word.length); + } + const dp = Array(n + 1).fill(false); dp[0] = true; for (let i = 1; i <= n; i++) { - for (let j = 0; j < i; j++) { + for (let j = i - 1; j >= Math.max(i - maxLength, 0); j--) { if (dp[j] && wordSet.has(s.substring(j, i))) { dp[i] = true; - break; } } }