백준 25501번 : 재귀의 귀재
문제
코드
#include <stdio.h>
#include <string>
#include<iostream>
#include<string.h>
using namespace std;
int iNum = 0;
int recursion(const char* s, int l, int r) {
    iNum++;
    if (l >= r)
    {
        return 1;
    }
    else if (s[l] != s[r]) return 0;
    else
    {
        return recursion(s, l + 1, r - 1);
    }
}
int isPalindrome(const char* s) {
    return recursion(s, 0, strlen(s) - 1);
}
int main()
{
    int iTmp;
    string sInput;
    cin >> iTmp;
    for (int i = 0; i < iTmp; i++)
    {
        cin >> sInput;
        cout << isPalindrome(sInput.c_str()) <<" " <<iNum << endl;
        iNum = 0;
    }
}
풀이
.c_str() : string class 에서 담고 있는 문자열을 C에서의 const char* 타입으로 변환하여 반환해주는 편리한 멤버함수이다.
Leave a comment