Sắp xếp số trong xâu (TS10 LQĐ, Đà Nẵng 2016)

Xem PDF




Tác giả:
Dạng bài
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn được cho một xâu \(S\) có chứa các kí tự số. Hãy sắp xếp các ký tự số trong \(S\) theo thứ tự không giảm nhưng giữ nguyên vị trí ban đầu của các kí tự khác (nếu có) trong xâu.

Input

  • Dòng đầu tiên và duy nhất chứa 1 xâu \(S\) (\(|S| \leq 255\)).

Output

  • In ra màn hình xâu đã được sắp xếp theo yêu cầu trên.

Example

Test 1

Input
744 
Output
447

Test 2

Input
Acb27h1h92gg 
Output
Acb12h2h79gg

Bình luận


  • 1
    tuanproab    2:44 p.m. 5 Tháng 3, 2023

    Spoiler Alert
    Do bài này tách các kí tự trong mảng nên các số nằm trong đoạn [0,9] vì vậy ta có thể dùng đếm phân phối cho tốc độ tối ưu nhất.
    Sau khi bỏ vào danh sách đếm phân phối. Ta tạo 1 mảng để lưu lại các vị trí.
    VD: Biểu diễn dưới dạng a[i] trong đó a là giá trị, i là tần số xuất hiện.
    2[3] 4[0] 5[2]
    -> 2 2 2 5 5
    Sau đó thay thế các giá trị trong mảng cho các số trong chuỗi lần lượt từ trái qua phải.

    • 4 bình luận nữa