기호

NYPC 2025 · 본선

+ (덧셈 기호)와 - (뺄셈 기호)로 구성된 문자열이 주어진다. 문자열은 아래의 규칙을 만족해야 한다.

예를 들어, 문자열 +-+-는 규칙을 만족하지만, 문자열 +--+는 규칙을 만족하지 않는다. 왜냐하면, 문자열 +--+에서 길이가 33인 앞부분은 +--인데, -의 개수가 22+의 개수 11보다 많기 때문이다.

주어진 문자열이 규칙을 만족하도록 만들기 위해 문자열에서 바꿔야 하는 글자의 개수의 최솟값을 계산하는 프로그램을 작성하라. 글자를 새로 추가하거나 제거할 수는 없고, +-로 또는 -+로 바꾸는 것만 허용된다는 것에 주의하라.

입력 형식

첫 줄에 문자열의 길이를 나타내는 정수 NN이 주어진다. (1N200000)(1 \le N \le 200\,000)

그다음 줄에 문자열이 주어진다. 이 문자열의 길이는 NN이고 +-로만 구성되어 있다.

출력 형식

첫 줄에 문자열이 규칙을 만족하도록 만들기 위해 바꿔야 하는 최소 글자 수를 출력한다.

예제 1

입력

3 +-+

출력

0

예제 2

입력

1 -

출력

1

예제 3

입력

4 +--+

출력

1

예제 설명

예제 1의 경우, 주어진 문자열 +-+가 이미 규칙을 만족하므로 글자를 바꿀 필요가 없다.

예제 2의 경우, 주어진 문자열 -+로 바꾸면 규칙을 만족한다.

예제 3의 경우, 두 번째 글자 -+로 바꾸어 문자열을 ++-+로 만들거나, 세 번째 글자 -+로 바꾸어 문자열을 +-++로 만들면 규칙을 만족한다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 18

N3N \le 3

종류 2: 23

N2000N \le 2\,000

종류 3: 59

모든 입력 케이스가 주어진다.

해설