💡
【AtCoder解説】ABC081A - Placing Marbles を解いた記録
本記事は、AtCoder の問題を解いて得た知見を記録するための学習ログです。
毎回1問ずつ、「何を考えて解いたか」「どう実装したか」「学んだこと」を簡単にまとめていきます。
問題概要
入力として3桁の文字列(0または1)が与えられ、その中に含まれる「1」の個数を出力する問題。
解放とコード
lists = list(input())
count = 0
for l in lists:
if l == '1':
count += 1
print(count)
配列にして全て数え上げる
解きながら考えたこと・学んだこと・感じたこと
- list()を使うことで引数の文字列は一文字づつの配列となる。
- 久しぶりにpythonを使ったが、ネストだけでは見づらいなと感じた。
別解
a = int(input(), 2)
b = 0
if(a == 1 or a == 2 or a ==4):
b = 1
if(a == 3 or a == 5 or a ==6) :
b = 2
if(a == 7):
b = 3
print(b)
10進数に変えて処理する
綺麗な回答
s = input()
print(s.count('1'))
forループもなしで完結
Discussion