AtCoder

ABC338 A問題(Capitalized?)を解く

AtCoder_ABC338_A

AtCoder が提供しているABC(AtCoder Beginner Contest)338 のA問題をC++とPythonで解いてみました。ABC338は、2024年1月27日21:00に実施されました。

AtCoder の紹介はこちらに、プログラミングの方針はこちらに記事があります。

A問題 Capitalized?(Difficulty : 21)

問題はリンク先をご覧ください。

ABC338 A問題 Capitalized?

英字大文字か小文字を判定する関数を使います。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 の問題を紹介していきます。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA