오늘의 알고리즘
[C++] 백준 9935 문자열 폭발
하늘하늘 .
2022. 6. 22. 17:04
#include <iostream>
#include <algorithm>
#include <string.h>
int main()
{
std::string s = {};
std::string bomb = {};
std::string sAns = {};
std::cin >> s;
std::cin >> bomb;
for (int i = 0; i < s.size(); ++i)
{
sAns += s[i];
if (sAns[sAns.size() - 1] == bomb[bomb.size() - 1] && sAns.size() >= bomb.size())
{
for (int j = bomb.size() - 1; j >= 0; --j)
{
if (sAns[sAns.size() - (bomb.size() - j - 1) - 1] != bomb[j])
break;
else if (j == 0)
{
for (int z = 0; z < bomb.size(); ++z)
{
sAns.pop_back();
}
}
}
}
}
if (!sAns.empty())
std::cout << sAns;
else
std::cout << "FRULA";
return 0;
}
처음에는 중간 문자열을 erase했는데 시간초과
입력을 해서 맨 마지막 문자가 같다면 전부 체크 후에 pop_back으로 바꿨다.