こんにちは!サトシ(@satoshi365_blog)です!
この記事では、「AtCoderに登録して最初に解くべき10問(AtCoder Beginners Selection)」の2問目「Placing Marbles」をめちゃくちゃ分かりやすく解説していきます。
AtCoder で問題を解くためには、新規登録しないといけません。
新規登録はこちらから → AtCoder に新規登録する
それでは、「Placing Marbles」の解説をしていきます!

2問目「Placing Marbles」で身につくスキル
この問題では、こんなスキルが身につきます。
- count() の使い方
先に、これがどのようなスキルなのかを説明します。
count() の使い方
count() を使うと、文字列の中に「ある文字」が何個入っているか数えられます。
‘10001011’ という文字列の中にある ‘1’ の個数を数えるときは、このようにします。
print('10001011'.count('1')) #4 と出力します
2問目「Placing Marbles」の解説
この順番で解説していきます。
- 問題文
- 入力例と出力例
- 解答例
- 解説
それでは見ていきましょう。
問題文
問題文
すむけ君は 1, 2, 3 の番号がついた3つのマスからなるマス目を持っています。各マスには ‘0’ か ‘1’ が書かれており、マス i には siが書かれています。
すぬけ君は ‘1’ が書かれたマスにビー玉を置きます。ビー玉が置かれるマスがいくつあるか求めてください。制約
・s1, s2, s3 は ‘1’ あるいは’0′入力
入力は以下の形式で標準入力から与えられる。s1s2s3
出力
答えを出力せよ。
入力例と出力例
入力例
‘110’
出力例
2
解答例
print(input().count('1'))
解説
分かりづらく書いてはありますが、’1′ が書いてあるところにビー玉を置くだけです。
つまり、やることは、‘1’ の個数を数えるだけです。
では、コードを詳しく解説していきます。
input() で受け取った文字列に count() を使う。
print(input().count('1'))
これで、‘1’ の個数、つまりビー玉が置かれるマスを数えることができました。
まとめ
もし分からない点などありましたら、気軽にTwitterなどでご質問ください^^
少しでも参考になれば嬉しいです!