From dffa14a685ec06bbbb5521fa7a9304c7a2df06a8 Mon Sep 17 00:00:00 2001 From: koronya Date: Tue, 30 Dec 2025 20:33:24 +0900 Subject: [PATCH] [JS][6kyu] Word Segmentation: MaxMatch --- .../word-segmentation-max-match/koronya.js | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 codewars/6kyu/word-segmentation-max-match/koronya.js diff --git a/codewars/6kyu/word-segmentation-max-match/koronya.js b/codewars/6kyu/word-segmentation-max-match/koronya.js new file mode 100644 index 000000000..d31961b97 --- /dev/null +++ b/codewars/6kyu/word-segmentation-max-match/koronya.js @@ -0,0 +1,30 @@ +// [JS][6kyu] Word Segmentation: MaxMatch +// word-segmentation-max-match +// https://www.codewars.com/kata/5be350bcce5afad8020000d6/train/javascript + +const VALID_WORDS = ['good', 'luck', 'happy', 'in', 'go'] + +const validSet = new Set(VALID_WORDS) + +const maxMatch = (sentence) => { + const sentenceLength = sentence.length + const result = [] + let start = 0 + + while (start < sentenceLength) { + let validStr = sentence[start] + for (let end = start + 1; end < sentenceLength; end += 1) { + const str = sentence.substring(start, end + 1) + if (validSet.has(str)) { + validStr = str + } + } + result.push(validStr) + start += validStr.length + } + + return result +} + +maxMatch('goodluck') +maxMatch('ewingsa')