tmp의 문자열에 계속해서 s[i]값을 더해간다. 더해가면서 tmp의 길이와 폭발 문자열의 길이가 같으면 뒤에서 부터 폭발 문자열과 tmp문자열이 같은지를 검사한다. 같다면 길이만큼 삭제
같지 않으면 계속 진행한다.
//백준 9935, 문자열 폭발
#include <iostream>
int main (){
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
std::cout.tie(NULL);
std::string s, boom; std::string tmp = "";
std::cin >> s;
std::cin >> boom;
for(int i{0}; i<s.size(); ++i){
tmp.push_back(s[i]);
if(tmp.length() >= boom.length()){
bool flag = true;
for(int j{0}; j<boom.length(); ++j){
if(tmp[tmp.length()-j-1] != boom[boom.length()-j-1]){
flag = false;
break;
}
}
if(flag){
tmp.erase(tmp.end()-boom.length(), tmp.end());
}
}
}
if(tmp.empty()) std::cout << "FRULA";
else std::cout << tmp;
return 0;
}