Skip to content

Commit b7ff251

Browse files
committed
palindromic substrings solution
1 parent ce0eb2e commit b7ff251

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

palindromic-substrings/hyer0705.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
function countSubstrings(s: string): number {
2+
const sLen = s.length;
3+
4+
const dp: boolean[][] = Array.from({ length: sLen }, () => Array(sLen).fill(false));
5+
6+
// 길이가 1
7+
for (let i = 0; i < sLen; i++) {
8+
dp[i][i] = true;
9+
}
10+
11+
// 길이가 2
12+
for (let i = 0; i < sLen - 1; i++) {
13+
dp[i][i + 1] = s[i] === s[i + 1];
14+
}
15+
16+
// 길이가 3이상
17+
for (let len = 3; len <= sLen; len++) {
18+
for (let i = 0; i < sLen - len + 1; i++) {
19+
const j = i + len - 1;
20+
if (s[i] === s[j] && dp[i + 1][j - 1]) {
21+
dp[i][j] = true;
22+
}
23+
}
24+
}
25+
26+
let count = 0;
27+
for (let i = 0; i < dp.length; i++) {
28+
for (let j = 0; j < dp[i].length; j++) {
29+
if (dp[i][j]) count++;
30+
}
31+
}
32+
33+
return count;
34+
}

0 commit comments

Comments
 (0)