이 문제를 풀 때 값을 정수로 받아 반복문 사용해서 뒤집는 것 보단
문자열로 받아서 뒤집은 다음에 정수로 만들면
훨씬 쉬울 것 같은데 문자열 뒤집는 함수는 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 |
---|