Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๋ฌธ์ ๋งํฌ
LeetCode - WordBreak
โ๏ธ ์์๋ ์๊ฐ
20๋ถ ์์
โจ ์๋ ์ฝ๋ ๋ฐ ๋ฌธ์ ์ค๋ช
ํด๋น ๋ฌธ์ ๋ ์ฃผ์ด์ง ๋ฌธ์์ด s๋ฅผ ๋จ์ด ์ฌ์ (wordDict)์ ์๋ ๋จ์ด๋ค๋ก ์กฐํฉํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.
๋ฌธ์์ด s์ ๊ฐ ์ธ๋ฑ์ค(ํ๋ผ๋ฏธํฐ i )๋ฅผ ์ํํ๋ฉฐ, ํด๋น ์ธ๋ฑ์ค์์ ๋๋ ์ ์๋ ๋จ์ด๋ค์ ๊ฒ์ฌํฉ๋๋ค.
private boolean dp(int i) {
๊ฐ ๋จ์ด๊ฐ ๋๋ ์ ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด, ๊ทธ ์ด์ ์ ๋ถ๋ถ ๋ฌธ์์ด๋ ์ ํจํ์ง ํ์ธํ์ฌ
if (i >= word.length() - 1 && dp(i - word.length())) {
dp ๋ฐฐ์ด์ ๊ฐฑ์ ํฉ๋๋ค.
์ต์ข ์ ์ผ๋ก dp[len(s)]์ ๊ฐ์ด True์ธ์ง ํ์ธํ์ฌ, ์ฃผ์ด์ง ๋ฌธ์์ด s๋ฅผ ๋จ์ด ์ฌ์ ์ ๋จ์ด๋ค๋ก ๊ตฌ์ฑํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.
โจ ์ฌ์ด ์ค๋ช (์ฐธ๊ณ )
์๋ ๊ทธ๋ฆผ์ dp[i]๊ฐ ์ฐธ์ด ๋๋ ์กฐ๊ฑด์ ๋ํ๋ ๋๋ค!
์์ฝํ์๋ฉด, s ๋ฌธ์์ด์ i ์์น์์ ๋๋๋ ๋ถ๋ถ ๋ฌธ์์ด์ด wordDict์ ์๋ ์ด๋ค ๋จ์ด์ ๊ฐ๊ณ ,
๊ทธ ๋จ์ด๊ฐ ์์๋๊ธฐ ์ ์ ๋ถ๋ถ ๋ฌธ์์ด๋ wordDict์ ์๋ ๋จ์ด๋ค๋ก ๋๋ ์ ์๋ค๋ฉด!
dp[i]๋ ์ฐธ์ด ๋๋ ๋ฐฉ์์ ๋๋ค.