文字列を for
文で調べる問題
問題概要
文字 o, x, - からなる長さ の文字列 が与えられる。次の条件を満たすかどうかを判定せよ。
- 文字 o を少なくとも 1 つ含む
- 文字 x を含まない
制約
考えたこと
文字列 の各文字を for
文で走査することにより、次の値を求めよう!
num_ryo
:文字列 に含まれる文字 o の個数num_fuka
:文字列 に含まれる文字 x の個数
そうすれば、次のように判定できる。
num_ryo >= 1
かつnum_fuka == 0
のとき:"Yes"- そうでないとき:"No"
コード
#include <bits/stdc++.h> using namespace std; const long long INF = 1LL<<55; int main() { int N; string S; cin >> N >> S; int num_ryo = 0, num_fuka = 0; for (int i = 0; i < N; i++) { if (S[i] == 'o') num_ryo++; else if (S[i] == 'x') num_fuka++; } if (num_ryo >= 1 && num_fuka == 0) cout << "Yes" << endl; else cout << "No" << endl; }