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)
