【ABC081 A】「Placing Marbles」を解く【Python3】

「AtCoder」解説一覧へ

AtCoder過去問精選10問まとめへ

「0」か「1」が書かれている3つのマスの中に、「1」が書かれたマスがいくつあるかを求める問題です。

方法はいくつかありますが、ここでは、3つ紹介します。

count()メソッドで数える

Pythonには、数をカウントできるものがありますので、それを使います。

提出
s = input()
print(s.count('1'))

count()メソッド

count()メソッドは、要素の出現回数を数えます。

開始位置、終了位置の指定も可能です。

"検索する文字列".count(数えたい要素, 開始位置, 終了位置)

整数にして足し合わせる

0か1のどちらかが書かれていることから、3つのマスの数字を足し合わせても答えを導き出せます。

提出
s = input()
print(int(s[0])+int(s[1])+int(s[2]))

入力は文字列なので、どこかで整数(int型)にする必要があります。

3つの整数を足し合わせたものを出力します。

文字取得

インデックスの指定を行うと、指定した位置の文字が取得されます。

s = "atcoder"
print(s[2])
# > "c"

for文で個数を数える

基本的に、A問題はfor文などのループを使用しないで解ける問題になっていますが、使うとすると、以下のようになりますね。

HTML
s = input()
ans = 0
for i in range(3):
	if s[i] == '1':
		ans += 1
print(ans)

変数ansを用意しておいて、s[i]の中身が「1」だった場合に、ansに1を足します。

最後にansを出力します。

【ABC081】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

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