けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 382 A - Daily Cookie (7Q, 灰色, 100 点)

問題文がややこしい書き方をしているけど、「要するにこういうこと!」という言い換えができるといい。

問題概要

文字 ., @ からなる長さ  N の文字列  S が与えられる。@ を左から順に  D 個だけ . に書き換える。

書き換えたあとの文字列に含まれる文字 . の個数を答えよ。

考えたこと

「左から順に」という指定を守るような実装をしてもよいが、その必要はない。単に

  •  S に含まれる . の個数を求める
  • それに  D を足す

とするだけでよい。

コード

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N, D;
    string S;
    cin >> N >> D >> S;

    int res = 0;
    for (int i = 0; i < N; i++) {
        if (S[i] == '.') res++;
    }
    cout << res + D << endl;
}