AtCoder-ABC222 A - Four Digits / B - Failing Grade【Python解答例】
AtCoder Beginner Contest222のA とB問題についてPythonの解答例を記事にしていきます。
Exawizards Programming Contest 2021(AtCoder Beginner Contest 222) - AtCoder
AtCoder Beginner Contest222 A - Four Digits
問題文
0 以上 9999 以下の整数 N が与えられます。
N の先頭に必要なだけ 0 をつけ、4 桁の文字列にしたものを出力してください。
制約
・0≤N≤9999
・N は整数
解答例
n = input() N = len(n) if N == 4: print(n) elif N == 3: print("0"+n) elif N == 2: print("00"+n) else: print("000"+n)
解説
整数の桁数にあわせて先頭に必要なだけ0をつけて、4桁の文字列にして出力する問題です。
入力を文字列として受け取り、その文字列の長さをNに代入します。
これが入力の桁数になりますので、4桁の場合は0をつけずに、3・2・1桁の場合はそれぞれ1・2・3個0をつけて出力すればACでした。
AtCoder Beginner Contest222 B - Failing Grade
問題文
N 人の学生が試験を受けました。学生には学生 1, 学生 2, …, 学生 N と番号がついていて、学生 i は a i 点を取りました。
P 点未満の点数を取った学生は "不可" となり単位を取得できません。 "不可" となった学生の人数を答えてください。
制約
・1≤N≤10 ^5
・1≤P≤100
・0≤a i ≤100 (1 ≤ i ≤ N)
・入力はすべて整数である。
解答例
n, p = map(int,input().split()) A = list(map(int, input().split())) ans = 0 for i in range(n): if A[i] < p: ans += 1 print(ans)
解説
制約がきびしくないので全探索で不可の人数を数えます。
i番目の学生の点数はA[i]になるのでA[i] < p(pは判定基準点)となる条件を満たした数だけansに1を足していきます。
p点未満が不可なので<= としないよう注意しました。
ループを抜けて全探索を終えた後にansを出力すればOKでした。
ABC222の関連記事はこちら
ebisuke33.hatenablog.com
ebisuke33.hatenablog.com