実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 21
問題概要
英字からなる文字列 が与えられる。「 の先頭が大文字であり、それ以外の文字は全て小文字である」かを判定せよ。
制約
- の長さは1以上100以下。
考察
AtCoderでたまに問われる、英字が大文字または小文字であるかを判定する問題。
C++ においては、英字が大文字かを判定するためにはisupper()
関数が、小文字かを判定するにはislower()
関数を使えばよい。
あとはループを回して各文字ごとに判定していけばOK。
コード
#include <bits/stdc++.h> using namespace std; using ll = long long; #define rep(i, start, end) for (ll i = (start); i < (ll)(end); i++) // ======================================== // int main() { string S; cin >> S; rep(i, 0, S.size()) { if (!isupper(S[0])) { cout << "No" << endl; return 0; } else if (i >= 1 && !islower(S[i])) { cout << "No" << endl; return 0; } } cout << "Yes" << endl; }
実装時間: 5分以内