회문이란, 앞쪽에서 보나 뒤쪽에서 보나 철자가 동일한 단어를 말한다. "긔엽긔"가 회문이다..-_-;
회문은 라이브러리를 사용해서 간단하게 해결이 가능하다.
usingstd::equal;equal함수는 두 시퀀스들을 비교하여 그 둘이 같은 값을 가졌는지를 검사한다.
bool is_palindrome(conststring& s)
{
return equal(s.begin(), s.end(), s.rbegin());
}
equal의 처음 두 반복자들은 첫 시퀀스를 정의하고, 세번째 인자는 두 번째 시퀀스의 시작 지점을 가리킨다.
equal함수는 두 번째 시퀀스가 첫 번째 시퀀스와 동일한 크기라고 가정한다.
따라서, 끝을 가리키는 반복자가 필요없고 두 번째 시퀀스의 시작 지점을 s.rbegin()으로 설정하기 때문에, 이 함수를 호출하면
s의 뒤쪽부터 앞쪽으로 값을 비교하게 된다.
'프로그래밍 > STL' 카테고리의 다른 글
C++,STL :: 라이브러리를 이용한 URL찾기 (0) | 2010.08.31 |
---|---|
C++,STL :: 문장을 단어로 나누는 함수 만들기 (0) | 2010.08.31 |
C++,STL :: 순차 컨테이너(sequential container) 연산 (0) | 2010.08.31 |
C++,STL :: 반복자(Iterator) (0) | 2010.08.31 |
source :: Accelerated C++ 2~4장까지 작성한 프로그램 (0) | 2010.08.29 |
댓글 로드 중…