出来るだけ寝ていたい

1日最低12時間睡眠、寝たら負け

簡易テキストエディタ



#include <bits/stdc++.h>
#define rep(i,n) for(int i=0; i<n; i++)
#define sort(v,n) sort(v,v+n);
#define vsort(v) sort(v.begin(),v.end());
#define ll long long
#define pb(a) push_back(a)
#define fi first
#define se second
#define inf 999999999
using namespace std;
typedef pair<int,int> p;
typedef pair<ll,ll> lp;
bool is_uruu(int y) {
        return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0);
}
//---------------------------------------------------------------------------//

int main(){
     string s,t;
     cin>>s;
     rep(i,s.length()){
         if(s[i]=='0') {
                t+="0";
        }else if(s[i]=='1') {
                t+="1";
       }else if(s[i]=='B') {
              if(t.length()>0) {
   t=t.substr(0,t.length()-1);
                }else{
                        t="";
                      }
                }
        }
        cout<<t<<endl;
}

0と1とBの3種類の文字をつかった文字列が与えられるので左端から0だったら0、1だったら1、Bだったら1つ前の文字を消すというルールのもと出来上がる文字列を出力するソースコード
例えば10BB001が入力なら001が出力。10B1なら11みたいな感じ。これはstringで入力してsubstrとlengthを使う。文字に+="何かの文字"で文字の末端に文字を追加できるのも良いなぁと思いました。