본문 바로가기
  • All about Finance
Study/C and AI

[Algorithms] 문자열 배열을 활용한 Palindrome

by 김 제로 2021. 5. 21.
반응형

 

Palindrome이란, 앞으로 해도 뒤로 해도 같은 단어를 말한다. 예를 들어 level, bob, radar 같은. 이를 Palindrome인지 아닌지 판별하는 코드를 작성해 보자.

우선, Palindrome은 문자이기 때문에 문자열 배열을 사용할 것이다.
words라는 배열을 선언해 주고, gets로 문자열을 입력받을 것이다.
Palindrome 함수 = ① 문자열을 반으로 쪼갬 ② 첫 문자와 맨끝 문자 비교, 두 번째와 끝에서 두 번째 비교...... 가운데에서 만날 때까지 ③ 비교했을 때 다른 문자 => j=1 저장

#include <stdio.h>
#include <string.h>

void Palindrome(char words[]);

int main(){

    char words[50];
    printf("input any word > ");
    gets(words);

Palindrome(words);
return 0;
}

void Palindrome(char words[]){

    int i,j=0;
    int len;

    len=strlen(words);

    for(i=0; i<len/2;i++){
        if(words[i] !=words[len-1-i]){
            j=1;
        }
    }
    if(j==0)
        printf("Palindrome! \n");
    else printf("Not Palindrome! \n");
}

 

댓글