File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ ์ค๋ช
3+ * - ์ฃผ์ด์ง ๋ฌธ์์ด s์ ๋ชจ๋ ๋ถ๋ถ ๋ฌธ์์ด ์ค ํฐ๋ฆฐ๋๋กฌ์ธ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๋ฐํ
4+ *
5+ * ์์ด๋์ด
6+ * 1) 1. Brute Force O(n^3)
7+ * 2) ํฌํฌ์ธํฐ O(n^2)
8+ * - ์ง์, ํ์ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋์ด ํ์
9+ * - ์ํํ๋ฉด์ ๊ฐ ํญ๋ชฉ์ ์ค์ฌ์ผ๋ก ์ข์ฐ๋ก ํ์ฅํ๋ฉฐ ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธ
10+ * 3) DP O(n^2)
11+ * - dp[i][j]๋ฅผ ๋ง๋ค์ด์ s[i..j]๊ฐ ํฐ๋ฆฐ๋๋กฌ์ธ์ง ์ ์ฅ -> ๋ค์๋ฒ์ ํด๋ณด๊ธฐ
12+ */
13+ function countSubstrings ( s : string ) : number {
14+ let result = 0 ;
15+
16+ for ( let i = 0 ; i < s . length ; i ++ ) {
17+ let left = i ;
18+ let right = i ;
19+
20+ while ( left >= 0 && right < s . length && s [ left ] === s [ right ] ) {
21+ result ++ ;
22+ left -- ;
23+ right ++ ;
24+ }
25+
26+ left = i ;
27+ right = i + 1 ;
28+ while ( left >= 0 && right < s . length && s [ left ] === s [ right ] ) {
29+ result ++ ;
30+ left -- ;
31+ right ++ ;
32+ }
33+ }
34+ return result ;
35+ }
You canโt perform that action at this time.
0 commit comments