どうもこんにちは!
今週もAtCoderのコンテストには参加しましたので記録がてら振り返ります。
今回はBまで完答。Cはちょっと考えてはみたものの実装に時間がかかりそうということで今回はここまで。
問題
問題は以下のリンクから。取り組めたA,Bを振り返ります。
A - Status Code -
与えられた値が200以上299以下ならSuccess,それ以外ならFailureを出力する問題。素直に入力を受け取ってif文で判定して終了。
n = int(input())
print("Success" if 200 <= n <= 299 else "Failure")
B - Unauthorized -
入力として行動が複数回与えられるので、エラーとなる回数を出力する問題。入力される行動は以下の4種類。
・ログイン(login)
・ログアウト(logout)
・公開のWebページにアクセス(public)
・非公開のWebページにアクセス(private)
エラーとなるのはログアウト状態で非公開のWebページにアクセスした場合のみ。それ以外は意味のない行動でも許容されます。(ログアウト状態でログアウトするとか)
ログインかどうかの状態を保持するとして、入力ごとにif文で場合分け。
n = int(input())
l = 0
ans = 0
for _ in range(n):
tmp = input()
if tmp == 'private' and l == 0:
ans += 1
elif tmp == 'login':
l = 1
elif tmp == 'logout':
l = 0
print(ans)
おわりに
4/20に情報技術者試験を受ける予定でして、勉強の進捗が悪いので次回まではB問題まで解いたら終わりにするかなと思います。終わったらC問題は解くところまでいきたいところです。
ではでは。