Official

A - Trimo Editorial by physics0523


初心者の方へ

解法はいろいろあるので、ひとつの方針を示します。
以下のロジックで出力することで、この問題に正解できます。

  • 文字列を先頭から調べる。
    • 現在の文字が o である場合、フラグが立っている時に限り、その文字を出力する。
    • 現在の文字が o でない場合、フラグを立ててその文字を出力する。

こうすることで、先頭から見て o 以外が出るまでは o を出力せず、 o 以外が出てからは o を出力することができます。

実装例 (C++):

#include<bits/stdc++.h>

using namespace std;

int main(){
  int n;
  string s;
  bool flag=false;
  cin >> n >> s;
  for(auto &nx : s){
    if(nx=='o'){
      if(flag){
        cout << nx;
      }
    }
    else{
      flag=true;
      cout << nx;
    }
  }
  cout << "\n";
  return 0;
}

posted:
last update: