작성
·
92
답변 1
0
안녕하세요 ㅎㅎ
substr함수부분을 보시면 다음과 같이 되어있는데요.
여기서 크기 부분을 제외하고 위치만 넣게 되면 해당 위치부터 마지막까지 추출하게 됩니다.
특정 위치에서 크기만큼의 문자열을 추출합니다. O(n)의 시간복잡도를 가집니다.
즉,
e == s.substr(s.size() - e.size()))
이부분 자체가 s.size() : s의 크기 - e.size() 부분 부터 ~ 시작해서 끝자리까지 뽑아내는 것이기 때문에
끝자리 substring 부분을 뽑아낼 수 있게 되는 것입니다.
그림으로 그려보면 다음과 같습니다.
참고코드
#include<bits/stdc++.h>
using namespace std;
int main() {
string a = "abc";
string b = a.substr(1);
cout << b << "\n"; //bc
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.