Giả sử chúng ta có chuỗi như sau:
const str = 'aabbcde';
Ở đây có 2 chữ a, 2 chữ b, 1 chữ c, 1 chữ d, 1 chữ e.
Cần viết hàm nhận chuỗi như vậy. Hàm xây dựng chuỗi với số lượng ký tự theo sau là ký tự đó.
Đầu ra cho chuỗi trên:
const output = '2a2b1c1d1e';
Ví dụ
const str = 'aabbcde';
const repeatLetter = (str = '') => {
const strArr = str.split("").sort();
let count = 1;
let i = 1;
let res = '';
while (i < strArr.length) {
if (strArr[i - 1] === strArr[i]) { count++; }
else {
res += count + strArr[i - 1];
count = 1;
};
i++;
};
res += count + strArr[i - 1];
return res;
};
console.log(repeatLetter(str));
Kết quả
Điều này sẽ tạo ra đầu ra sau:
2a2b1c1d1e