Điểm:
100 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Một xâu ký tự có thể nén lại thành một xâu mới bằng cách nén các ký tự giống nhau đứng cạnh nhau. Ví dụ trong xâu \(aaaa\) sẽ nén thành \(4a\). Hãy lập trình để nén một xâu ký tự thường theo cách trên.
Input
- Một xâu các ký tự là chữ cái thường có tối đa \(10^5\) ký tự.
Output
- Một xâu ký tự sau khi nén.
Example
Test 1
Input
mmaabbbeeeezh
Output
2m2a3b4ezh
Bình luận
Code C++ cho ai cần
Spoiler
Ngoại trừ: SBD12_LamLDK; NamHackerLord5511; SBD11_TOANTHITRAN
include <bits/stdc++.h>
using namespace std;
string s;
string s1="";
long long d;
int main()
{
cin>>s;
for(int i=0;i<s.size();i++)
{
d=0;
if(s[i-1]==s[i])
{
d++;
while(s[i-1]==s[i])
{
d++;
i++;
}
s1=s1+to_string(d)+s[i-1];
}
if(s[i-1]!=s[i]&&s[i]!=s[i+1])
s1=s1+s[i];
}
cout<<s1;
return 0;
}
cho minh xin hint python cua bai nay di
test sai hay sao ái
làm phiền daicadihoc tăng time cho scratch ạ.
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
Spoiler Alert
Hint 1
Notice
Reference AC code | O(n) time | O(1) auxiliary space | Online Solving