AtCoder
AtCoder Beginner Contest 394
- n度目の挑戦。アプローチはわかっていたが実装ができなかった
- 解説実装
- for文を使いそうになるが文字列のカーソル位置変数を用意してwhile文でループするのがよさそう
int main() {
string S;
cin >> S;
long long N = S.length();
long long cursor = 0; // 文字列のカーソル位置をこれで管理する
while(cursor < N - 1){
if ((S[cursor] == 'W') && (S[cursor + 1] == 'A')){
S[cursor] = 'A';
S[cursor + 1] = 'C';
if (cursor > 0){
cursor--;
}
}else{
cursor++;
}
}
cout << S << endl;
return 0;
}