文字列を for
文で調べる系の問題
問題概要
文字 #
, .
からなる長さ の文字列 が与えられる。次の条件を満たす整数 の個数を求めよ。
- =
#
- =
.
- =
#
考えたこと
次のように考えると実装しやすい。
各 に対して、文字列 の 文字目から 3 文字文をとってできる文字列(C++ なら S.substr(i, 3)
)が "#.#" となるような を数える。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, res = 0; string S; cin >> N >> S; for (int i = 0; i + 2 < N; i++) { if (S.substr(i, 3) == "#.#") res++; } cout << res << endl; }