abc382
AtCoder プログラミングコンテスト2024(AtCoder Beginner Contest 382) – AtCoder
A問題
N個の箱のうちD日間経過した後に空き箱が何個あるか求める問題。クッキーは一日一枚ずつ、いずれかの箱に入ったものを選んで食べ、クッキーはD個以上含まれていることが保証されているので、最初に空き箱の数を数えて、日数Dの数をその数に足したものを出力した。
n , d = map(int, input().split())
s = list(input())
a = 0
for i in range(len(s)):
if s[i] == ".":
a += 1
ans = a + d
print(ans)
B問題
A問題のように一日一枚ずつ、クッキーを食べる問題。A問題と違い、列に並んでいる箱の中で最も右でクッキーが入ってる箱を選んで食べる。出力するのはD日間後の箱の状態。右の箱に入っているクッキーを食べるという処理をするために箱の順番を一度逆順にして処理が終わった後また逆順にして順番を戻して出力した。
n , d = map(int, input().split()) #箱の数、日数のデータを受け取る
s = list(input()) #箱の状態を受け取る
s.reverse()
a = 0
for i in range(len(s)):
if s[i] == "@":
s[i] = "."
a += 1
if a == d:
break
s.reverse()
print("".join(s))