less than 1 minute read

문제

백준 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