문제 설명
Given a string s, return the number of palindromic substrings in it.
A string is a palindrome when it reads the same backward as forward.
A substring is a contiguous sequence of characters within the string.
Example 1
Input: s = "abc"
Output: 3
Explanation: Three palindromic strings: "a", "b", "c".
Example 2:
Input: s = "aaa"
Output: 6
Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa"."
Constraints:
- 1 <= s.length <= 1000
- s consists of lowercase English letters.
문제풀이
class Solution {
var answer = 0
func isPalindromic(_ string: [String], _ i: Int, _ j: Int) -> Void {
var i = i
var j = j
while i>=0 && j<string.count {
if string[i] != string[j] { return }
answer+=1
i-=1
j+=1
}
return
}
func countSubstrings(_ s: String) -> Int {
let strArr = s.compactMap { String($0) }
for i in 0..<strArr.count {
isPalindromic(strArr, i, i)
isPalindromic(strArr, i, i+1)
}
return answer
}
}