第十一屆藍橋杯省賽 第一場試題 I: 字元串編碼
大家好,我叫亓官劼(qí guān jié )
試題 I: 字元串編碼
時間限制: 1.0s 記憶體限制: 512.0MB 本題總分:25 分
【問題描述】
小明發明了一種給由全大寫字母組成的字元串編碼的方法。對于每一個大
寫字母,小明将它轉換成它在 26 個英文字母中序号,即 A → 1, B → 2, … Z →
26。
這樣一個字元串就能被轉化成一個數字序列:
比如 ABCXYZ → 123242526。
現在給定一個轉換後的數字序列,小明想還原出原本的字元串。當然這樣
的還原有可能存在多個符合條件的字元串。小明希望找出其中字典序最大的字
符串。
【輸入格式】
一個數字序列。
【輸出格式】
一個隻包含大寫字母的字元串,代表答案
【樣例輸入】
123242526
【樣例輸出】
LCXYZ
【評測用例規模與約定】
對于 20% 的評測用例,輸入的長度不超過 20。
Python解法
a = input()
len = a.__len__()
# 末尾加個字元,但是len還是之前的len,這樣可以防止處理之後越界
a = a + 'Z'
i = 0
re = ""
while( i < len):
temp = int(a[i]) * 10 + int(a[i+1])
# 連續兩個無法連續
if(temp > 26):
re = re + chr(int(a[i]) + 65 -1)
i = i + 1
else:
re = re + chr(temp + 65 -1)
i = i + 2
print(re)