题解:P12173 [蓝桥杯 2025 省 Python B] 最多次数

· · 题解

提供一种我在赛场时的思路,直接对字符串逐个枚举字符作为首位,判断其和后面两位字符构成的字符串是否含有题目要求的,然后改值标记防重,注意留意遍历范围,因为要判断当前字符和后面两位所以要减 2,以及 Py 的字符串不能用等号赋值的方法更改,可以把字符串的字符存进数组中。

a=['lqb','lbq','qlb','qbl','blq','bql']
b=input().strip()
d=[x for x in b]
ans=0
for i in range(0,len(b)-2):
    if d[i] in ['l','q','b']:
        c=""
        c+=d[i]+d[i+1]+d[i+2]
        if c in a:
            ans+=1
            d[i+1]="0"
            d[i+2]="0"
print(ans)
if "__name__"=="__main__":
    main()