File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {string } s
3+ * @return {number }
4+ *
5+ * 풀이 방법
6+ *
7+ * 1. brute force 를 사용해서 모든 경우의 수를 구한다.
8+ * 2. 투포인터를 통해 isPalindrome 을 확인한다.
9+ *
10+ * 복잡성
11+ *
12+ * Time Complexity: O(n^2)
13+ * Space Complexity: O(1)
14+ */
15+
16+ /**
17+ * isPalindrome 함수
18+ */
19+ function isPalindrome ( s ) {
20+ let left = 0 ;
21+ let right = s . length - 1 ;
22+
23+ while ( left < right ) {
24+ if ( s [ left ] !== s [ right ] ) return false ;
25+ left ++ ;
26+ right -- ;
27+ }
28+
29+ return true ;
30+ }
31+
32+ var countSubstrings = function ( s ) {
33+ let count = 0 ;
34+
35+ // 모든 경우의 수를 구한다.
36+ for ( let start = 0 ; start < s . length ; start ++ ) {
37+ for ( let end = start ; end < s . length ; end ++ ) {
38+ const subStr = s . slice ( start , end + 1 ) ;
39+
40+ // isPalindrome 함수를 통해 팰린드롬인지 확인한다.
41+ if ( isPalindrome ( subStr ) ) {
42+ count ++ ;
43+ }
44+ }
45+ }
46+
47+ return count ;
48+ } ;
You can’t perform that action at this time.
0 commit comments