https://www.acmicpc.net/problem/9935
- 폭발 문자열은 사라지고, 남은 문자열 합해짐
-> 구간 삭제- 폭발 문자열은 같은 문자를 두 개 이상 포함X
-> 스택
저는 다음과 같이 풀었습니다.
스택으로 풀이한다면 다음과 같이 진행되며, 위에서 말했던 것과 같이 스택 자료구조를 사용 시 즉각적인 피드백이 가능하여 시간적인 측면에서 유리하다는 장점이 있습니다.
#include<iostream>
using namespace std;
void solution() {
string s, bomb, answer="";
cin >> s >> bomb;
int len = bomb.length();
for (int i = 0; i < s.length(); ++i) {
answer += s[i];
int aLen = answer.length();
if (aLen < len) continue;
if (!bomb.compare(answer.substr(aLen - len, aLen))) {
answer.erase(aLen - len, aLen);
}
}
if (answer.empty()) {
cout << "FRULA";
return;
}
cout << answer;
}
int main() {
cin.tie(0), cout.tie(0);
ios_base::sync_with_stdio(0);
solution();
return 0;
}