프로그래머스
가장 긴 팰린드롬 C++
paysmile
2022. 3. 18. 22:51
https://programmers.co.kr/learn/courses/30/lessons/12904
코딩테스트 연습 - 가장 긴 팰린드롬
앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들
programmers.co.kr
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int answer = 0;
void isPellin(string s, int left, int right) {
int ans = 0;
while (left >= 0 && right < s.size()) {
if (s[left] != s[right]) {
break;
}
left--;
right++;
}
ans = right - left-1;
answer = max(answer, ans);
}
int solution(string s)
{
for (int i = 0; i<s.size(); i++) {
isPellin(s, i, i+1);
isPellin(s, i, i);
}
return answer;
}