

Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 200 点
問題文
あなたは整数 x を持っています。 最初、x=0 です。
あなたは、長さ N の文字列 S をもらったので、これを使って N 回の操作を行いました。
i 回目の操作では、S_i=I
ならば x の値を 1 増やし、S_i=D
ならば x の値を 1 減らしました。
操作の途中( 1 回目の操作の前、N 回目の操作の後も含む)で x がとる値の最大値を答えてください。
制約
- 1≦N≦100
- |S|=N
- S には、
I
、D
以外の文字は含まれない
入力
入力は以下の形式で標準入力から与えられる。
N S
出力
操作の途中での整数 x がとる値の最大値を出力せよ。
入力例 1
5 IIDID
出力例 1
2
それぞれの操作後の x の値は、1,2,1,2,1 となるので、最大値である 2 を出力します。
入力例 2
7 DDIDDII
出力例 2
0
最初の x=0 の状態で x が最大になるので、0 を出力します。
Score : 200 points
Problem Statement
You have an integer variable x. Initially, x=0.
Some person gave you a string S of length N, and using the string you performed the following operation N times.
In the i-th operation, you incremented the value of x by 1 if S_i=I
, and decremented the value of x by 1 if S_i=D
.
Find the maximum value taken by x during the operations (including before the first operation, and after the last operation).
Constraints
- 1≤N≤100
- |S|=N
- No characters except
I
andD
occur in S.
Input
The input is given from Standard Input in the following format:
N S
Output
Print the maximum value taken by x during the operations.
Sample Input 1
5 IIDID
Sample Output 1
2
After each operation, the value of x becomes 1, 2, 1, 2 and 1, respectively. Thus, the output should be 2, the maximum value.
Sample Input 2
7 DDIDDII
Sample Output 2
0
The initial value x=0 is the maximum value taken by x, thus the output should be 0.