#include <iostream>
#include <string>
using namespace std;
int get_target_idx(string s, string target, int s_len, int target_len) {
for (int i = 0; i < s_len - target_len; i++) {
bool detected = true;
for (int j = 0; j < target_len; j++) {
if (s[i + j] != target[j]) {
detected = false;
}
}
if (detected) {
return i;
}
}
}
bool target_detected(string s, string target, int s_len, int target_len) {
for (int i = 0; i < s_len - target_len; i++) {
bool detected = true;
for (int j = 0; j < target_len; j++) {
if (s[i + j] != target[j]) {
detected = false;
}
}
if (detected) {
return true;
}
}
return false;
}
int main() {
// input
string s, target;
cin >> s >> target;
int s_len = s.length(), target_len = target.length();
bool flag = true;
int target_idx;
while (flag) {
if (target_detected(s, target, s_len, target_len)) {
target_idx = get_target_idx(s, target, s_len, target_len);
s.erase(target_idx, target_len);
} else {
flag = false;
}
}
//print
cout << s;
return 0;
}
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
'Algorithm(CodeTree, C++) > 문자열' 카테고리의 다른 글
[코드트리] 문자열 밀기 C++ (0) | 2024.06.23 |
---|---|
[코드트리] e 제거하기 C++ (0) | 2024.06.22 |
[코드트리] 문자 제거하기 C++ (0) | 2024.06.22 |
[코드트리] 양옆 문자 제거하기 C++ (0) | 2024.06.22 |
[코드트리] 두 번째를 첫 번째로 C++ (0) | 2024.06.17 |