본문 바로가기

Algorithm/Code Fights (Code Signal)

Aracade Intro #3 CheckPalindrome


Check if input string is palindrome or not


입력받는 문자가 회문(수박이박수) 인지 확인한다


//Process

//1. Input string for checking

//2. Iterate from the front char and the rear char are the same && till they meet

// 2.1. Update front and rear char

//3. Get the answer and output it


//처리과정

//1. 체크할 문자 입력받는다.

//2. 앞에서, 뒤에서 문자 읽어서 같아야 하고, 중간에서 만나기 전까지 반복한다.

// 2.1. 체크할 앞 뒤 문자 갱신한다.

//3. 끝까지 왔으면 답은 true 로 출력한다.



bool checkPalindrome(std::string inputString) {

    bool answer = false;

  

    int length = inputString.length();

    int front = 0;

    int rear = length - 1;

    char frontChar = inputString.at(front);

    char rearChar = inputString.at(rear);

    

    while (front < rear && frontChar == rearChar) {

        frontChar = inputString.at(front+1);

        rearChar = inputString.at(rear-1);

        front++;

        rear--;

    }

    

    if (front >= rear && inputString.at(front) == inputString.at(rear)) {

        answer = true;

    }

    

    return answer;

}



2018/09/16 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #2 CenturyFromYear

2018/09/16 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #1 Add


'Algorithm > Code Fights (Code Signal)' 카테고리의 다른 글

Aracade Intro #6 MakeArrayConsecutive2  (0) 2018.09.22
Aracade Intro #5 ShapeArea  (0) 2018.09.21
Aracade Intro #4 AdjacentElementsProduct  (0) 2018.09.19
Aracade Intro #2 CenturyFromYear  (0) 2018.09.16
Aracade Intro #1 Add  (0) 2018.09.16