題意
- あなたは最初
x
個の石を持っていた -
+
(石を場からとる)か-
(石を場に置く)をした - この間
-
にて手元から石がなくなることはなかった - 最後に手元にある石の最小数を述べよ
アプローチ
最初に0個石を持っていたとして、足りなくなる最小の石の数を求めます。この分の石を最初持っておけばよいです。
この数の石を初期値にした上で、再度シミュレーションすればよいです。
※あるいは上記で求めた最後の値にこの足りなくなる数を足しても良いです。(コードはこちらのアプローチ)
n = int(input())
s = input()
mi = 0
c = 0
for i in range(n):
if s[i] == "+":
c += 1
else:
c -= 1
mi = min(mi, c)
c -= mi
print(c)