PythonでAtCoderの過去問を解いていきます。
ABC047A – キャンディーと2人の子供
自分の回答
a, b, c = map(int, input().split())
candies = [a, b, c]
candies.sort()
if candies[0] + candies[1] == candies[2]:
print("Yes")
else:
print("No")
入力された値をリスト(candies)に入れて、ソートをかけます。そして、リストの中の、最も大きい値とその他二つの値を足し合わせた値が等しければ、Yesを出力します。
もっとよくする
candies = sorted(list(map(int,input().split())))
if candies[0] + candies[1] == candies[2]:
print("Yes")
else:
print("No")
他の方のを参考にして、入力の部分を変更しました。直接、リストに突っ込んだ方が、便利ですね。
ABC048A – AtCoder *** Contest
自分の回答
a, b, c = map(str, input().split())
print(a[0] + b[0] + c[0])
入力の段階で、スペース区切りで、それぞれの変数に渡しているのがいい点ですね。そして、それらの変数の先頭の文字を繋げて出力すれば、答えとなります。
ABC049A – 居合を終え、青い絵を覆う
自分の回答
c = str(input())
if c == "a" or c == "i" or c == "u" or c == "e" or c == "o":
print("vowel")
else:
print("consonant")
そのままですね。入力された文字が、”a” or “i” or “u” or “e” or “o”だったら、”vowel”を出力します。
ABC050A – Addition and Subtraction Easy
自分の回答
A, op, B = input().split()
if op == "+":
print(int(A) + int(B))
else:
print(int(A) - int(B))
変数opの記号によって、処理を変えればいいですね。気をつけるのは、入力された時には全てstr型で受け付けているので、計算する時にはint型に変換しましょう。
ABC051A – Haiku
自分の回答
s = input()
print(s.replace(",", " "))
replace関数を使って、カンマ(,)をスペースに変換すればいいですね。