[Algorithm] 10988-펠린드롬인지 확인하기

gunggme·2023년 11월 17일

알고리즘

목록 보기
8/42

시작

우선 펠린드롬이라는 것을 알아야되는데 한번 알아보자.

펠린드롬이란?

펠린드롬이란 문자열을 뒤집어도 안뒤집은거랑 똑같은 문자열을 이야기한다.
예. 기러기, level, 우영우 등등..

이제 이걸 알게 된다면 간단한 알고리즘이 떠오를텐데 한번 알고리즘을 작성을 해보자. 밑은 내가 작성한 알고리즘이다.

알고리즘

  1. 문자열을 입력 받는다.
  2. 똑같은 문자열 하나를 만든다.
  3. 1번에서 입력받은 문자열을 뒤집는다.
  4. 뒤집은 문자열과 2번에서 복사한 문자열을 비교 후 출력

이렇게 하면 cpp로도 간단한게 작성이 되는 것을 알수 있는데, 어떻게 간단하게 하느냐? 우선 char(문자)와 string(문자열)에 대하 알아야된다. char는 문자 즉 'a', 'b',...같은 하나의 문자를 이야기 하는데. 그 문자들을 모여 합친게 문자열 즉 string형이다. 그렇다면 string은 char의 배열이라는 것을 알 수 있는데. 그것을 이용해 reverse라는 함수를 사용하면 된다. 밑은 내가 작성한 코드다.

코드

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>

using namespace std;

int main() {
	string a, b;
	cin >> a;
	b = a;
	reverse(a.begin(), a.end());
	if (a == b) {
		cout << 1;
	}
	else {
		cout << 0;
	}
}
profile
안녕하세요!

0개의 댓글