【ABC201 A】「Tiny Arithmetic Sequence」を解く【Python3】

コンテスト一覧へ

 

数列Aを並び替えて等差数列にすることができるかどうか判定する問題です。

提出
a = list(map(int, input().split()))
a.sort()

if a[2]-a[1]==a[1]-a[0]:
    print("Yes")
else:
    print("No")

入力は A1,A2,A3 のみなので、これをリストにします。

sort() を使うと昇順にソート(並び替え)できます。

if文を用いて、 A3-A2=A2-A1 となるかどうか判定して答えを出力します。

split()メソッド

split()メソッドは、区切り文字を指定して、文字列を分割します。

区切り文字を指定しない場合、空白、タブ、改行で分割されます。

str.split(区切り文字)
map()関数

map()関数は、配列内のすべての要素に関数の処理を適用します。

map(関数、配列)

 

スポンサーリンク

 

上記では sort() を使っていますが、A問題は関数などを使わず解けるような問題を作っているようです。

ソートせずに、 A1,A2,A3 の並び替えをすべてif文で判定する方法でも求めることができます。

提出
a = list(map(int, input().split()))
ans = "No"
 
if a[2]-a[1]==a[1]-a[0]:
    ans = "Yes"
if a[1]-a[0]==a[0]-a[2]:
    ans = "Yes"
if a[0]-a[2]==a[2]-a[1]:
    ans = "Yes"
 
print(ans)

【ABC201】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。