總網頁瀏覽量

2019年11月17日 星期日

2017.10月大學程式設計先修檢測 實作題 第二題(交錯字串,Alternating Strings)




























Python Code:

k=int(input())#輸入k值
s=input()#輸入交錯字串
prelow=None #前一個字元是小寫
upper=0#連續大寫的字元總數
low=0#連續小寫的字元總數
alterlen=0#目前的交錯的字串長度
longest=0#最長的交錯子字串長度
#處理第一個字元
if s[0].isupper()==True:
    prelow=False
    upper=1
    if k==1:
        alterlen=1
        longest=1
else:
    prelow=True
    low=1
    if k==1:
        alterlen=1
        longest=1

#處理第二個字元之後,大大
for i in range(1,len(s)):
    if (prelow==False and s[i].isupper()==True):
        upper+=1
        low=0
        if upper==k:
            alterlen+=k
            longest=max(alterlen,longest)
        if upper>k:alterlen=k
        
    elif (prelow==False and s[i].isupper()==False):#大小
        if upper<k:alterlen=0
        low=1
        upper=0
        if k==1:
            alterlen+=1
            longest=max(longest,alterlen)
        prelow=True
        
    elif (prelow==True and s[i].isupper()==True):#小大
        if low<k:alterlen=0
        upper=1
        low=0
        if k==1:
            alterlen+=1
            longest=max(alterlen,longest)
        prelow=False
            
    elif (prelow==True and s[i].isupper()==False):#小小
        low+=1
        upper=0
        if low==k:
            alterlen+=k
            longest=max(longest,alterlen)
        if low>k:
            alterlen=k
        

print(longest)



沒有留言:

張貼留言