인프런 커뮤니티 질문&답변

박성찬님의 프로필 이미지
박성찬

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

C++알고리즘 교안

알고리즘 교안 P.42 질문

작성

·

135

0

end()가 문자열의 마지막 요소 그 다음을 가리키는 거라고 하셨는데

그럼 P.42에서 reverse()할 때도 reverse(a.begin(), a.end())가 아닌 reverse( a.begin(), (a.end()-1) )로 써도 문자열이 완전히 뒤집어 질 수 있지 않나요?

스크린샷 2023-08-02 오후 2.44.29.png스크린샷 2023-08-02 오후 2.44.46.png

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 성찬님 ㅎㅎ

그럼 P.42에서 reverse()할 때도 reverse(a.begin(), a.end())가 아닌 reverse( a.begin(), (a.end()-1) )로 써도 문자열이 완전히 뒤집어 질 수 있지 않나요?

>> 음 아닙니다.

왜냐면 저 함수에 들어가는 범위자체가 이상, 미만으로 주어져야 하기 때문에 배열 전체를 뒤집으려면

배열 끝 다음을 가리키는 end()를 집어넣어서 미만으로 만들어야 합니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

박성찬님의 프로필 이미지
박성찬

작성한 질문수

질문하기