とても教育的な典型問題!
問題概要
長さ の英小文字からなる文字列
が与えられる。
この文字列がすべて同じ文字で構成されているかどうかを判定せよ。
制約
考えたこと
すべてが同じ文字だということは、「すべてが先頭の文字と同じ文字である」ということである。よって、次のことを判定すればよい。
S[1] == S[0]かどうかS[2] == S[0]かどうかS[3] == S[0]かどうか- ...
S[N-1] == S[0]かどうか
この判定は for 文でできる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; string S; cin >> N >> S; bool res = true; for (int i = 1; i < N; ++i) { if (S[i] != S[0]) res = false; } if (res) cout << "Yes" << endl; else cout << "No" << endl; }