팰린드롬인지 체크하기 - easy

2021. 3. 27. 03:16Algorithm/easy

팰린드롬이란? 앞뒤가 똑같은 전화번호, 앞뒤가 똑같은 문자열 같은 것이다. 이 문자열이 팰린드롬인지 체크하는 문자열인데 크게 어렵지 않은 알고리즘이니 쉽게 풀어보도록 하자

 

Reverse 라이브러리 사용하기

더보기
#include <algorithm>
using namespace std;

bool isPalindrome(string str) {
	string compareString = str; 
	reverse(compareString.begin(), compareString.end());
  
	return str == compareString;
}

우선 가장 쉬운 방법은 reverse라는 알고리즘 라이브러리에서 제공해주는 것을 사용하는 것이다. 그리고 원본의 문자열과 ==을 통해서 비교하여 true, false를 반환할 수 있다.

 

앞뒤 인덱스를 사용해서 체크하기 

제일 첫 인덱스와 뒤의 인덱스를 서로 비교해가며 체크하는 방법 또한 존재합니다.

더보기
#include <algorithm>
#include <iostream>
using namespace std;

bool isPalindrome(string str) {
	int beginIndex = 0, endIndex = str.size() - 1;

	while(beginIndex < endIndex){
		if(str[beginIndex] != str[endIndex])
			return false;
		beginIndex++;
		endIndex--;
	}
  
	return true;
}

 

'Algorithm > easy' 카테고리의 다른 글

Generate Document - Easy  (0) 2021.03.27
Run Length Encoding(문자 개수 만큼 압축)  (0) 2021.03.27
카이사르의 암호[Caesar Cipher] - easy  (0) 2021.03.27