NECプログラミングコンテスト2022 (AtCoder Beginner Contest 267)の解説記事です。
目次
ABC267 A – Saturday
問題
問題文の要約は以下の通りです。
問題の要約
文字列Monday
, Tuesday
, Wednesday
, Thursday
, Friday
を与えたとき、土曜日まであと何日か求めよ。
制約
・\(S\) は Monday
, Tuesday
, Wednesday
, Thursday
, Friday
のいずれかの文字列
入力
\(S\)
出力
答えを整数として出力せよ。
解説1
if
文で条件分岐を行う。
解説
まず入力を \(S\) で受け取ります。
S = input()
\(S\) は Monday
のとき5
、 Tuesday
のとき4
、Wednesday
のとき3
、 Thursday
のとき2
、Friday
のとき1
を出力します。
if S == "Monday":
print(5)
elif S == "Tuesday":
print(4)
elif S == "Wednesday":
print(3)
elif S == "Thursday":
print(2)
elif S == "Friday":
print(1)
解答
S = input()
if S == "Monday":
print(5)
elif S == "Tuesday":
print(4)
elif S == "Wednesday":
print(3)
elif S == "Thursday":
print(2)
elif S == "Friday":
print(1)
解説2
曜日を配列として持つ。
解説
入力として受け取る可能性のある曜日を配列で持っておきます。
例えば、逆順で持っておけば土曜日まで何日か考えやすくなります。
yobi=['Friday','Thursday','Wednesday','Tuesday','Monday']
入力を受け取り、順に比較して一致したら配列の添え字+1が答えになります。
S=input()
for i in range(5):
if S==yobi[i]:
print(i+1)
解答
yobi=['Friday','Thursday','Wednesday','Tuesday','Monday']
S=input()
for i in range(5):
if S==yobi[i]:
print(i+1)