for
文の練習問題!
問題概要
o と x からなる長さ の文字列 が与えられる。
の中に o が 3 つ連続している箇所があれば "Yes" を出力し、そうでなければ "No" を出力せよ。
制約
考えたこと
for
文を用いて判定しよう。具体的には、各 i
について
S[i] == 'o'
S[i+1] == 'o'
S[i+2] == 'o'
が成り立つかどうかを判定していって、一箇所でも成り立てば "Yes" を出力すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; string S; cin >> N >> S; bool res = false; for (int i = 0; i + 2 < N; ++i) { if (S[i] == 'o' && S[i+1] == 'o' && S[i+2] == 'o') res = true; } cout << (res ? "Yes" : "No") << endl; }