본문 바로가기
C++

[ c++ ] 문자열 뒤집기, reverse()

by yebeen 2023. 2. 21.

백준 2908번

이 문제를 풀 때 값을 정수로 받아 반복문 사용해서 뒤집는 것 보단

문자열로 받아서 뒤집은 다음에 정수로 만들면

훨씬 쉬울 것 같은데 문자열 뒤집는 함수는 c++에서 제공 안되나..? 라는 생각에

구글링하여 얻은 정보를 정리해볼까한다.

 

reverse()

 

reverse함수의 헤더파일

: <algorithm>

 

 

reverse함수 선언

template <class BidirectionalIterator>

void reverse(BidirectionalIterator first, BidirectionalIterator last)

-> first를 포함한 인덱스부터 last 바로 전 인덱스까지의 요소를 거꾸로 뒤집는 함수이다.

-> 중요한 점은 인덱스를 매개변수로 받는다는 점이다.

 

 

reverse 함수 사용법

백준 문제를 풀 때 쓴 코드로 reverse( 문자열변수.begin(), 문자열변수.end() ) 라고 작성하면 된다.

end()의 경우 string의 마지막 요소의 다음 요소를 가르킨다.

 

#include <iostream>
#include <algorithm>
using namespace std;

int main(){
    string x;
    cin>>x>>y;
    reverse(x.begin(),x.end());
    reverse(y.begin(),y.end());
    if(x>y)cout<<x;
    else cout<<y;
}

 

 

문자열의 경우에만 예제를 보았지만 vector와 list에도 사용가능하다.

'C++' 카테고리의 다른 글

[ c++ ] 배열 초기화  (1) 2023.02.21