AtCoder

ABC344 A問題(Spoiler)を解く

AtCoder_ABC344_A

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

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

A問題 Spoiler(Difficulty : 20)

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

ABC344 A問題 Spoiler

指定された文字に囲まれた文字を特定して処理します。AtCoder Problems による Difficulty は 20 でした。

解答案

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

文字 ’|’ に囲まれているか判定する Bool 型変数 in を更新しながら文字を走査します。出力する文字を変数 result に追加していき、最後に result を出力します。

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

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

int main()
{
	string s;
	cin >> s;
	string result = "";
	bool in = false;
	for (int i = 0; i < s.length(); ++i) {
		if (!in &&(s[i] != '|')) {
			result += s[i];
		}
		if (s[i] == '|') {
			in = !in;
		}
	}

	cout << result << endl;

	return 0;
}

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

Python プログラム例(ABC344A)

Python は、split で文字列を分けると以下のようにすっきりと書けます。

"""AtCoder Beginner Contest 344 A"""
s = input().split('|')

print(s[0] + s[2])

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

最後に

A問題も少し工夫が必要な問題が続いています。

引き続き ABC の問題を紹介していきます。

COMMENT

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

CAPTCHA