[AtCoder]ABC 071A MealDelivery ~ 80[Python]

プログラミング

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の値を比較して、値の小さい方を出力すればいいですね。

タイトルとURLをコピーしました