Problem:
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 and D 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.

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
import java.util.Set;
import java.util.Queue;
import java.text.DecimalFormat;

public class Main {

    public static void main(String[] args) {

        /*
        Scanner input = new Scanner(System.in);
        String word = input.nextLine();
        int n = word.length();
        int maximumLength = 0;
        boolean zFound = false;
        for (int i = 0; i < n; i++) {
            if(word.charAt(i) == 'A')
            {
                for (int j = i+1; j < n; j++) {
                    if(word.charAt(j) == 'Z')
                    {
                        zFound = true;
                        if(j-i+1 > maximumLength)
                        {
                            maximumLength = j - i + 1;
                        }
                    }
                    else if(zFound && word.charAt(j) != 'Z')
                    {
                        zFound = false;
                        break;
                    }
                }
            }
        }
        System.out.println(maximumLength);
        */
        Scanner input = new Scanner(System.in);
        int n =Integer.parseInt(input.nextLine());
        String word = input.nextLine();
        int x = 0;
        int maximumX = 0;

        for (int i = 0; i  < n ; i++) {
            if(word.charAt(i) == 'I')
                x++;
            else
                x--;
            if(x > maximumX)
                maximumX = x;
        }
        System.out.println(maximumX);

        }
}