考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC043-B - バイナリハックイージー / Unhappy Hacking (ABC Edit) を解く

ABC043-B - バイナリハックイージー / Unhappy Hacking (ABC Edit)

 

'0', '1', 'B' の3種類からなる文字列 s が与えられ

左端から1文字ずつ見ていって、空文字列に対して以下の処理を行っていく

 

・'0'の場合: 文字列の右端に文字0を挿入

・'1'の場合: 文字列の右端に文字1を挿入

・'B'の場合: 文字列が空の場合は何もしない。空でない場合は、文字列の右端の1文字を

削除

 

指示された通りにシミュレーションするのが一番手っ取り早いだろう

そのままコードを書いてみた

 

提出したコード

# 入力
s=input()

a=''
for x in s:
  if x=='0':
    a+='0'
  elif x=='1':
    a+='1'
  else:
    # 文字列が空でない場合、末尾を削除
    if a!='':
      a=a[:-1]

# 出力
print(a)

 

提出結果はACでした