Skip to content

Commit 635fcd7

Browse files
committed
workd-break solution
1 parent 4d5facb commit 635fcd7

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

โ€Žword-break/hyeri0903.javaโ€Ž

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution {
2+
public boolean wordBreak(String s, List<String> wordDict) {
3+
/**
4+
1.๋ฌธ์ œ: s ๊ฐ€ wordDict ๋กœ ์ชผ๊ฐœ์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ true/false return
5+
2.์กฐ๊ฑด
6+
- s ์—๋Š” wordDict ๊ฐ€ ์—ฌ๋Ÿฌ๋ฒˆ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Œ.
7+
- s.length() ์ตœ์†Œ = 1, ์ตœ๋Œ€ 300
8+
- wordDict.size() ์ตœ์†Œ 1, ์ตœ๋Œ€ 1000
9+
- ํ•œ ๋‹จ์–ด ๊ธธ์ด ์ตœ์†Œ=1, ์ตœ๋Œ€ = 20
10+
- ๋ชจ๋‘ ์†Œ๋ฌธ์ž. ๋ชจ๋“  wordDict ๊ฐ’์€ unique
11+
3.ํ’€์ด
12+
- i๋ฒˆ์งธ๊นŒ์ง€ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ check
13+
*/
14+
15+
int n = s.length();
16+
boolean[] dp = new boolean[n+1];
17+
18+
dp[0] = true; //๋นˆ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ
19+
20+
for(int i = 1; i < n+1; i++) {
21+
for(int j = 0; j < i; j++) {
22+
String subStr = s.substring(j, i);
23+
//์•ž๋‹จ๊ณ„ ๋ชจ๋‘ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  && wordDict์— ์กด์žฌํ•˜๋Š”์ง€ ์ฒดํฌ
24+
if(dp[j] && wordDict.contains(subStr)) {
25+
dp[i] = true;
26+
break;
27+
}
28+
}
29+
}
30+
return dp[n];
31+
}
32+
}

0 commit comments

Comments
ย (0)