#include<map>
#include<set>
#include<ctime>
#include<deque>
#include<stack>
#include<queue>
#include<cmath>
#include<cctype>
#include<vector>
#include<string>
#include<climits>
#include<cstring>
#include<numeric>
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<unordered_map>
#define int long long
#define il inline
#define ui unsigned int
#define ll long long
#define ull unsigned long long
#define db double
#define print(x) printf(x)
#define debug puts("debug")
const ll mod=1e9+7;
const ll inf=0x3f3f3f3f;
const double pi=acos(-1.0);
const double Exp=1e-8;
#define N 1000005
il int read(){
int x=0,t=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')t=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return x*t;
}
il void write(int x){
if(x<0){putchar('-');x=-x;}
if(x>9)write(x/10);
putchar(x%10+'0');
}
#define rd read()
int cnt;
signed main(){
int t=rd;
while(t--){
int n=rd;
std::string s;
std::cin>>s;
s+=" ";
int cnt=1,sum=0;
for(int i=0;i<n;i++){
if(s[i]==s[i+1]){
cnt++;
}else{
if(cnt%3==0){
sum+=cnt/3*2;
}else if(cnt%3==1){
sum+=cnt/3*2+1;
}else{
sum+=cnt/4*2+1;
}
cnt=1;
}
}
std::cout<<sum<<std::endl;
}
}
死活过不去 0pts