알고리즘/BOJ

백준 25501번 재귀의 귀재

꾸준함. 2022. 8. 28. 23:53

문제 링크입니다: https://www.acmicpc.net/problem/25501

 

25501번: 재귀의 귀재

각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다.

www.acmicpc.net

문제에서 주어진대로 재귀 호출을 할 경우 시간 초과가 발생합니다.

따라서, for문을 통해 풀어야합니다.


#include <iostream>
#include <string>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int T;
cin >> T;
for (int t = 0; t < T; t++)
{
string s;
cin >> s;
int cnt = 0;
int left = 0;
int right = s.length() - 1;
bool flag = true;
for (; left <= right; left++, right--)
{
cnt++;
if (s[left] != s[right])
{
flag = false;
break;
}
}
cout << (flag ? 1 : 0) << " " << (flag && s.length() % 2 == 0 ? cnt + 1 : cnt) << "\n";
}
return 0;
}
view raw .cpp hosted with ❤ by GitHub

 

개발환경:Visual Studio 2022

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형