【備忘録】AtCoder Beginners Selection 前半

重い腰を上げてようやくAtCoderを始めることにしました。
始めるにあたり解いた問題を忘れないよう備忘録としてコードの説明を残しておきます。
問題のリンク

●使用言語:Python (3.8.2)

・ABC086A - Product

スクリーンショット 2021-06-13 164005

# 標準入力
a,b = map(int, input().split())
s = a * b

if s % 2 != 0:
   print("Odd")
else:
   print("Even")

・ABC081A - Placing Marbles

スクリーンショット 2021-06-13 172350

a = input()
# 1の数をcount
print(a.count("1"))

・Shift only

スクリーンショット 2021-06-13 172350

N = int(input())
# map()関数→リスト等のすべての要素にアクセスして処理を行うことできる関数
A = list(map(int, input().split()))

cnt = 0

while all(d%2 == 0 for d in A):
# リストの中(黒板)の数値をすべて2で割る
   A = [d/2 for d in A]
   cnt += 1

print(cnt)

・Coins

スクリーンショット 2021-06-16 002503

# 500円、100円、50円の入力
a = int(input())
b = int(input())
c = int(input())

x = int(input())
count = 0
# 3重ループ(range(3)は1~2を反映)
for i in range(a+1):

   for j in range(b+1):

       for k in range(c+1):
           # 500,100,50 の組み合わせの総額とXの値が一致しているかどうか
           if i*500 + j*100 + k*50 == x:
               count+=1
# 一致した回数を表示
print(count)

・Some Sums

画像5

# 標準入力
N,A,B = map(int, input().split())
count = 0
# N = 20の時
# 0から20までループする
for i in range(N+1):
   # iを文字化する ex)13 => `1`,`3`
   str_i = str(i)
   # map(int,list(str_i) => [`1`,`3`] => [1,3]
   list_i = list(map(int,list(str_i)))
   # sum([1,3]) => 4
   # A以上B以下かを判定
   if A <= sum(list_i) <= B:
       # i(結果の値)を足す
       count += i

print(count)

この記事が気に入ったらサポートをしてみませんか?