Risolto da solo.... era proprio una cavolata =P

codice:
		char[][] cArr = {{'w','w','w','w','d','d','c'},{'w','w','w','c','d','d','c'}};
		StringBuffer prova = new StringBuffer(0);
		
		for (int j = 0; j < cArr.length; j++){
			int cont = 0;
			char c,c_old = '\0';
			
			for(int i = 0; i < cArr[0].length; i++){
				c = cArr[j][i];			
				if(c == c_old && cont < 3) cont++;
				else if(c == c_old && cont >= 3){
					prova.append(cont+""+c_old);
					cont = 1;
				}
				else if (c != c_old && c_old != '\0' ){
					prova.append(cont+""+c_old);
					cont = 1;
				}
				c_old = c;		
			}
			prova.append(cont+""+c_old);
		}
		System.out.println(prova);
L'ho esteso ad una matrice