AtCoder

ABC292 A問題(CAPS LOCK)を解く

AtCoder_ABC292_A

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

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

A問題 CAPS LOCK(Difficulty : 7)

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

ABC292 A問題 CAPS LOCK

与えられた英字小文字の文字列を大文字に変換する問題です。AtCoder Problems による Difficulty は 7 でした。

解答案

問題を以下の方針で解きます。

  • 文字列 S を読み込む。
  • 文字列 S の先頭文字から以下を繰り返す。
    • 取り出した文字を大文字に変換して出力する。

C++ プログラム例(ABC292A)

与えられた文字を英字大文字に変換する標準ライブラリ関数 toupper を使います。この関数は、標準ライブラリの仕様で int を返すため、char にキャストして出力する必要があります(10行目)。キャストしないと、文字コードの整数を出力します。

以下が、C++プログラムとなります。

#include <bits/stdc++.h>
using namespace std;

int main()
{
	string s;
	cin >> s;

	for (int i = 0; i < s.length(); ++i) {
		cout << (char)toupper(s[i]);
	}
	cout << endl;

	return 0;
}

AC(Accepted=正しいプログラム)と判定されました。

Python プログラム例(ABC292A)

Python は、文字列を大文字に変換するメソッド upper が用意されているため、1行で書けます。最初、メソッドを toupper と書いて、Python に注意されました。

"""AtCoder Beginner Contest 292 A"""
print(input().upper())

こちらも「AC」と判定されました。

最後に

文字列の小文字と大文字を取り扱う問題は、ある頻度で出題されています。プログラミング言語が用意している関数、メソッドを使うと、すっきりと書くことができます。

ABC292 について、引き続き、E問題まで紹介します。

COMMENT

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

CAPTCHA