AtCoder

ABC327 A問題(ab)を解く

AtCoder_ABC327_A

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

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

A問題 ab(Difficulty : 23)

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

ABC327 A問題 ab

文字列に特定の連続2文字が含まれているか判定します。AtCoder Problems による Difficulty は、23 でした。

解答案

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

文字列 s を読み込み、s[i] と s[i+1] の2文字が ‘a’ と ‘b’ または、’b’ と ‘a’ になっているか調べます。文字列の添え字は 0 から始まります。

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

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

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

	bool result = false;
	for (int i = 0; i < n - 1; ++i) {
		if ((s[i] == 'a')&&(s[i + 1] == 'b')) {
			result = true;
		}
		if ((s[i] == 'b')&&(s[i + 1] == 'a')) {
			result = true;
		}
	}

	if (result) {
		cout << "Yes" << endl;
	} else {
		cout << "No" << endl;
	}

	return 0;
}

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

Python プログラム例(ABC327A)

Python は文字列の包含が簡単に書けます。以下となります。

"""AtCoder Beginner Contest 327 A"""
n = int(input())
s = input()

print("Yes" if "ab" in s or "ba" in s else "No")

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

最後に

A問題は解きやすい難易度の問題が出題されています。初心者に取り組みやすいコンテストが毎週開催されていることは、ありがたいです。

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

COMMENT

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

CAPTCHA