AtCoderのA問題の過去問をPythonを使って解いていきます。
ABC 071A – Meal Delivery
自分の回答
x, a, b = map(int, input().split())
if abs(x - a) < abs(x - b):
print("A")
else:
print("B")
絶対値にすることをお忘れなく。
abs関数
絶対値を返す関数です。
ABC 072A – Sandglass2
自分の回答
X, t = map(int, input().split())
if X - t > 0:
print(X - t)
else:
print("0")
X – tが0より大きい時は、その値を、0以下になるときは、0を出力します。
ABC 073A – September 9
自分の回答
N = input()
if N[0] == "9" or N[1] == "9":
print("Yes")
else:
print("No")
与えられる値が二桁という条件なので、一の位か十の位が9の時、Yesを出力すれば良いですね。
もっとよくする
N = input()
if "9" in N:
print("Yes")
else:
print("No")
Pythonの場合、inを使うとかなりコードが簡潔になりますね。
ABC 074A – Bichrome Cells
自分の回答
N = int(input())
A = int(input())
print(N ** 2 - A)
Nを二乗したものから、Aを引いたものが答えとなります。Pythonでべき乗の計算する時は**とします。
ABC 075A – One out of Three
自分の回答
A, B, C = map(int, input().split())
if A == B:
print(C)
elif B == C:
print(A)
else:
print(B)
端から等しいものを確認していって、比較したもの以外の数字を出力すればいいですね。
ABC 076A – Rating Goal
自分の回答
R = int(input())
G = int(input())
print(2 * G - R)
今回求めたい値をxとすると、G = (R + x)/2なので、x = 2 * G – Rとなります。
ABC 077A – Rotation
自分の回答
a = input()
b = input()
if a == b[::-1]:
print("YES")
else:
print("NO")
問題を読むだけだと分かりづらいですが、要は、“一行目”と“二行目を反転させたもの”が等しければ、”YES”と出力すればいいです。
ABC 078A – HEX
自分の回答
X, Y = input().split()
if X > Y:
print(">")
elif X < Y:
print("<")
else:
print("=")
Pythonでは文字列はUnicodeであり、文字列の大小関係(順番)は文字のUnicodeコードポイント(文字コード)で判定します。
文字のUnicodeコードポイントは組み込み関数ord()で取得できます。
ABC 079A – Good Integer
自分の回答
N = input()
if N[0] == N[1] == N[2] or N[1] == N[2] == N[3]:
print("Yes")
else:
print("No")
与えられる値nは、4桁なので、”Yes”となる条件は前の3文字、または後ろの3文字が全て等しい場合です。なので、その二つの条件の時に、”Yes”とすれば良いです。
ABC 080A – Parking
自分の回答
N, A, B = map(int, input().split())
if N * A > B:
print(B)
else:
print(N * A)
N✖️AとBの値を比較して、値の小さい方を出力すればいいですね。