[내 풀이]
#include <string>
#include <vector>
using namespace std;
int solution(string my_string, string is_suffix) {
int answer = 0;
// my_string의 뒤에서부터 하나씩 검사, 그 중 is_suffix랑 일치하는 게 있으면 result = 1반환
for(int i=0; i<my_string.length(); i++)
{
if(is_suffix == my_string.substr(i, my_string.length()-i))
answer = 1;
}
return answer;
}
[다른 사람 풀이]
#include <string>
#include <vector>
using namespace std;
int solution(string my_string, string is_suffix) {
if(my_string.size() < is_suffix.size())
{
return 0;
}
return my_string.substr(my_string.size() - is_suffix.size()) == is_suffix;
}
굳이 길이를 계산할 필요없이, 어차피 해당 인덱스부터 끝까지 반환을 할거고
my_string.size()에서 is_suffix.size()를 뺀 값을 인덱스로 가지면 결국
is_suffix의 길이와 동일한 길이의 값이 나와서
굳이 반복문 쓸 필요없이 값만 비교하면 된다.