#include <bits/stdc++.h>
using namespace std;
int N;
char c;
int A[1100], sol;
int dp[1100][2];
bool ok[1100][2];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> N;
  for (int I = 1; I <= N; I++) {
    cin >> c;
    A[I] = c - '0';
  }
  ok[0][0] = ok[0][1] = true;
  ok[1][A[1]] = true;
  dp[1][A[1]] = 0;
  for (int I = 2; I <= N; I++) {
    dp[I][0] = dp[I][1] = 1e9;
    if (!ok[I - 1][1 - A[I]]) {
      ok[I][A[I]] = true;
      dp[I][A[I]] = I - 1;
    }
    if (A[I] == A[I - 1]) {
      if (ok[I - 2][A[I]]) {
        ok[I][A[I]] = true;
        dp[I][A[I]] = dp[I - 2][A[I]] + 1;
      }
      if (ok[I - 2][1 - A[I]]) {
        ok[I][1 - A[I]] = true;
        dp[I][1 - A[I]] = dp[I - 2][1 - A[I]] + 1;
      }
    }
    if (ok[I - 1][1 - A[I]]) {
      ok[I][A[I]] = true;
      dp[I][A[I]] = min(dp[I][A[I]], dp[I - 1][1 - A[I]]);
    }
    if (ok[I - 1][A[I]]) {
      ok[I][1 - A[I]] = true;
      dp[I][1 - A[I]] = min(dp[I][1 - A[I]], dp[I - 1][A[I]] + 1);
    }
    if (ok[I - 1][1 - A[I]]) {
      ok[I][A[I]] = true;
      dp[I][A[I]] = min(dp[I][A[I]], dp[I - 1][1 - A[I]] + 1);
    }
  }
  sol = 1e9;
  if (ok[N][0]) sol = min(sol, dp[N][0]);
  if (ok[N][1]) sol = min(sol, dp[N][1]);
  cout << sol << endl;
}
