본문 바로가기
프로그래머스

가장 긴 팰린드롬 C++

by paysmile 2022. 3. 19.

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;
}

'프로그래머스' 카테고리의 다른 글

지형 이동 C++  (0) 2022.03.21
스티커 모으기 C++  (0) 2022.03.19
가장 긴 팰린드롬 C++  (0) 2022.03.18
숫자 게임 C++  (0) 2022.03.18
카드 짝 맞추기 C++  (0) 2022.03.06