본문 바로가기

알고리즘

[Algorithm] 팰린드롬 조사

문제


문자열이 주어질 때, 이것이 팰린드롬인지 조사하는 프로그램을 작성하시오. 팰린드롬이란, 앞으로 읽을 때와 뒤로 읽을 때의 결과가 같은 문자열을 말한다.  

입력


첫 번째 줄에 문자열이 주어진다. ( 1 ≤ 문자열의 길이 ≤ 1,000 )  

출력


입력된 문자열이 팰린드롬이면 YES, 아니면 NO를 출력한다.

 

예제 입력

abcba

예제 출력

YES

 

예제 입력

abcbd

예제 출력

NO


정답을 확실히 맞추진 못했다.. 73%로 맞았으나, 다시 한 번 풀어봐야할거 같다!!


<코드>

#include <iostream>

#include <string.h>


using namespace std;


int main() {


  //Please Enter Your Code Here

  char str[1000];

  char str2[1000];

  

  char *ptr = str;

  int i,j,tmi;

    

  fgets(ptr,1000,stdin);

  

  while(*(ptr+i)!='\0'){

    i++;

  }

  tmi = i;

  

  while(tmi--){

    str2[j] = *(ptr+tmi);

    j++;

  }

  

  if(strcmp(str,str2)==0){

    cout<<"YES"<<endl;

  }else{

    cout<<"NO"<<endl;

  }

  

  return 0;

}


'알고리즘' 카테고리의 다른 글

[Algorithm] Recursive Function  (0) 2019.02.05
[Algorithm] 문자열 압축  (0) 2019.02.04
[Algorithm] 문자열 정렬  (0) 2019.02.03
[Algorithm] 문자열 뒤집기  (0) 2019.02.03
[Algorithm] 과제물 망치기  (0) 2019.02.03