ABC114 をPythonで解く
A~Cを解いた。
A
X =int(input()) if X in [7,5,3]: ans ="YES" else: ans ="NO" print(ans)
B
m=min(m,xxx)でコード量削減
S =input() m = 753 for i in range(len(S)-2): tmp=(S[i:i+3]) m=min(abs(753-int(tmp)),m) print(m)
C
さすがに今日はjoinで結合すぐ思い出せた。総当たりで組み合わせを作って7,5,3が一回以上出てくる場合のみに絞る。あとは大小を比較する。
from itertools import product N = int(input()) STR_N = str(N) all_pat =[] for i in range(3,len(STR_N)+1): pattern = list(product(["7","5","3"],repeat=i)) for p in pattern: if len(set(p))==3: all_pat.append(int(''.join(p))) all_pat = list(set(all_pat)) all_pat.sort() cnt = 0 for a in all_pat: if a<=N: cnt+=1 print(cnt)