题解 | 小红的大小写字母

小红的大小写字母

https://www.nowcoder.com/practice/e82a7b09d26c4b20b5b4abc468ee6619

n,k=map(int,input().split())#n字符个数,k操作次数
s=input()#导入字符串
up_s=s.upper()#变为大写
coun=0
for i in range(len(s)):
    if s[i]==up_s[i]:#计算原有大写字母数
        coun+=1
lower=(len(s)-coun)#计算原有小写字母数
if lower-k>=0 :#计算可以转换多少个字母
    print(coun+(k))
else:
    a=abs(k-lower)%2#绝对值
    print(n-a)
'''
n, k = map(int, input().split())
s = input()

# 统计当前大写字母数量
uppercase_now = sum(1 for char in s if char.isupper())
lowercase_now = n - uppercase_now

if k <= lowercase_now:
    # k 次操作可以把 k 个小写字母转成大写
    result = uppercase_now + k
else:
    # 先把所有小写字母转成大写
    remaining_ops = k - lowercase_now
    if remaining_ops % 2 == 0:
        # 剩余偶数次操作,可以相互抵消,保持全大写
        result = n
    else:
        # 剩余奇数次操作,必须有一个字母变成小写
        result = n - 1

print(result)
'''


全部评论

相关推荐

在考古的丘比特很冷艳:[牛泪我横向一周多自动挂了,面试答的还行,感觉挂的莫名其妙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务