【AtCoder】ABC146解説(Python)

AtCoder Beginner Contest 146の解説記事です。

目次

ABC146 A – Can’t Wait for Holiday

問題

問題文の要約は以下の通りです。

問題の要約

文字列SUN,MON,TUE,WED,THU,FRI,SAT のいずれかを与え、それぞれ日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、土曜日を表しているとき、次の日曜日まであと何日か求めよ。

制約

・\(S\) はSUN,MON,TUE,WED,THU,FRI,SATのいずれかの文字列

入力

\(S\)

出力

答えを出力せよ。

解法1

if文で条件分岐を行う。

解説

まず入力を \(S\) で受け取ります。

S = input()

\(S\) は SUNのとき7、 MONのとき6TUEのとき5、 WEDのとき4THUのとき3FRIのとき2SATのとき1 を出力します。

if S == "SUN":
  print(7)
elif S == "MON":
  print(6)
elif S == "TUE":
  print(5)
elif S == "WED":
  print(4)
elif S == "THU":
  print(3)
elif S == "FRI":
  print(2)
elif S == "SAT":
  print(1)

解答

S = input()
if S == "SUN":
  print(7)
elif S == "MON":
  print(6)
elif S == "TUE":
  print(5)
elif S == "WED":
  print(4)
elif S == "THU":
  print(3)
elif S == "FRI":
  print(2)
elif S == "SAT":
  print(1)

解法2

曜日を配列として持つ。

解説

入力として受け取る可能性のある曜日を配列で持っておきます。

yobi=['SUN','MON','TUE','WED','THU','FRI','SAT']

入力を受け取り、順に比較して一致したら配列の7-iが答えになります。

S=input()
for i in range(7):
  if S==yobi[i]:
    print(7-i)

解答

yobi=['SUN','MON','TUE','WED','THU','FRI','SAT']
S=input()
for i in range(7):
  if S==yobi[i]:
    print(7-i)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次