Nén xâu

Xem PDF




Thời gian:
Scratch 5.0s

Tác giả:
Dạng bài
Đ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


  • 0
    PY1F04_phan_nhat_binh    10:52 a.m. 3 Tháng 5, 2024

    cho minh xin hint python cua bai nay di


    • -2
      xthabao1    7:57 p.m. 30 Tháng 9, 2023

      test sai hay sao ái


      • 0
        khanhhunghack    7:56 a.m. 10 Tháng 1, 2022

        làm phiền daicadihoc tăng time cho scratch ạ.

        1 phản hồi

        • -35
          thanhyl7a20    4:26 p.m. 12 Tháng 10, 2021

          Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

          3 phản hồi

          • 14
            SPyofgame    7:10 p.m. 6 Tháng 6, 2020 chỉnh sửa 5

            Spoiler Alert


            Hint 1

            Duyệt qua xâu, và đếm số lượng kí tự bằng nhau liền nhau.

            Xuất kết quả và chuyển sang kí tự tiếp theo

            Notice

            Cẩn thận trường hợp chỉ có một kí tự đơn lẻ

            Reference AC code | O(n) time | O(1) auxiliary space | Online Solving

            C++
            for (char c = getchar(), p = c; c != EOF; p = c)
            {
                int cnt = 0;
                while (p == c) cnt++, c = getchar();
                if (cnt > 1) cout << cnt;
                cout << p;
            }