遊程長度編碼
Run-Length Encoding・bapcs-02-01
- APCS 中級
- 連續字元壓縮與分段
- APCS 以外的進階主題・Strings & Parsing
時間限制 1 秒・記憶體 64 MB
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
題目敘述
老師在黑板上寫了一排小寫字母,想用比較短的方式記錄它:把連在一起、完全相同的字母視為一段,每一段只記下那個字母和這一段有幾個。
規則是:把字串切成若干「極大的相同字母區塊」,也就是同一個字母連續出現、且左右兩側都不是這個字母的最長一段。依序輸出每個區塊的字母,後面緊接該區塊的長度(以十進位整數表示),中間不加任何分隔符號。
輸入格式
輸入一行,為一個小寫英文字母組成的字串 s。
輸出格式
輸出一行,為編碼後的結果。
限制
- 1 ≤ |s| ≤ 106
範例
範例 1
輸入
aaabbc輸出
a3b2c1範例 2
輸入
a輸出
a1說明
範例 1 的三個區塊是 aaa、bb、c,長度分別為 3、2、1。若同一個字母在不相鄰的位置再度出現,視為不同的區塊,各自計算。
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。