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')