[C++] reverse() 함수
reverse(word.begin(), word.end())
<algorithm>
헤더에 정의되어 있다.- 컨테이너(ex.배열, 벡터, 문자열 등)내의 요소들의 순서를 뒤집는데 사용된다.
- 반환값이 없으며, 입력된 컨테이너 자체가 변경된다.
[백준 10988번] 팰린드롬인지 확인하기
#include <iostream>
#include <string>
#include <algorithm> //reverse()
using namespace std;
int main(){
string word;
cin >> word;
string o_word = word;
reverse(word.begin(), word.end());
if(o_word!=word){
cout << 0;
}
else{cout << 1;}
}
string new_word=reverse(word.begin(), word.end()); 으로 했다가 오류가 났다.
알고보니 reverse를 하게되면 기존의 word값이 자체적으로 변경되는것이라 새로운 변수를 선언해줄 필요가 없던 것이었다.
기존의 word값과 reverse된 새로운 word값을 비교해주기 위해서는 reverse 함수를 사용하기 전에 기존의 word값을 새로운 변수에 저장해 주어야 한다.