ebisukeプログラミング初心者脱出黙示録

30歳を過ぎてから始めたプログラミングと競プロの記録。Pythonで取り組んでいます。Arduinoで電子工作も

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

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

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