L1-011 AB(20点)
トピックの説明:
この問題では、A-Bを計算する必要があります。しかし、問題は、AとBの両方が文字列であるということです。つまり、文字列Bに含まれるすべての文字が文字列Aから削除され、残りの文字が文字列A-Bを形成します。
入力フォーマット:
入力は文字列AとBを2行で連続して与えます。2つの文字列の長さは104以下であり、各文字列は表示可能なASCIIコードと空白文字で構成され、最後に新しい行の文字で終わることが保証されています。
出力フォーマット:
A-Bの結果文字列を1行で出力します。
入力サンプル:
GPLTが大好きです!楽しいゲームです!
aeiou
サンプル出力:
私はGPLTをlv!fn gmです!
問題解決のアイデア:
1024プログラマーの日、祝うために水の質問を書いてください〜(メダルを混ぜてください)。
通関コード:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
string del;
int pos;
getline(cin, str);
getline(cin, del);
for (int i = 0; i < del.size(); i++) {
pos = str.find(del[i]);
while (pos != str.npos) {
str.erase(pos, 1);
pos = str.find(del[i]);
}
}
cout << str;
return 0;
}
通関手続きのスクリーンショット: