AtCoder が提供しているABC(AtCoder Beginner Contest)338 のA問題をC++とPythonで解いてみました。ABC338は、2024年1月27日21:00に実施されました。
AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。
A問題 Capitalized?(Difficulty : 21)
問題はリンク先をご覧ください。
英字大文字か小文字を判定する関数を使います。AtCoder Problems による Difficulty は 21 でした。
解答案
C++ プログラム例(ABC338A)
英字小文字か判定する関数 islower、英字大文字か判定する isupper を使いました。
以下が、C++プログラムとなります。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin >> s;
bool result = true;
if (islower(s[0])) {
result = false;
}
for (int i = 1; i < s.length(); ++i) {
if (isupper(s[i])) {
result = false;
}
}
if (result) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
AC(Accepted=正しいプログラム)と判定されました。
Python プログラム例(ABC338A)
Python 版も基本的な考え方は同じです。以下となります。
"""AtCoder Beginner Contest 338 A"""
s = input()
result = True
if s[0].islower():
result = False
for i in range(1, len(s)):
if s[i].isupper():
result = False
print("Yes" if result else "No")
こちらも「AC」と判定されました。
最後に
ABC338も参加できませんでした。2回続けての不参加で残念です。解いてみた結果を記事にします。
引き続き ABC の問題を紹介していきます。