AtCoder Beginner Contest 181 D - Hachi【Python】
https://atcoder.jp/contests/abc181/tasks/abc181_d
AtCoder ProblemsのRecommendationでDifficulty: 600、Solve Probability:
47%でした。
検索したところある数字の下3桁が8の倍数ならその数字は8の倍数であるということがわかったので3桁までの8の倍数を列挙して解くことができました。
数字のカウントにdefaultdictを使いましたが解説ではCounterを使っていて勉強になりました。
hachis = [] i = 1 while len(str(i*8)) <= 3: if '0' not in str(i*8): hachis.append(str(i*8).zfill(3)) i += 1 S = input().zfill(3) for hachi in hachis: d = defaultdict(int) for h in hachi: d[h] += 1 d2 = defaultdict(int) for s in S: d2[s] += 1 for k in d.keys(): if d[k] > d2[k]: break else: print('Yes') exit() print('No')