백준 4673 셀프넘버

choiyongheon·2022년 2월 21일
1

이 문제의 핵심은 생성자가 무한대로 있다는 것.
범위가 10000 이하이므로, 10000 이하의 숫자 - 생성자의 수 가 셀프넘버의 숫자가 될 것이다.

s1 = set(range(1, 10001))
s2 = set()

for i in range(1, 10001):
    for j in str(i):
        i += int(j)
    s2.add(i)

s3 = sorted(s1 - s2)
for i in s3:
    print(i)

s1이 10000 이하의 숫자이며, s2는 생성자가 존재할 때 넣어준다.
s3는 sorted를 사용했다. sorted는 iterable할 때만 사용이 가능하다.

profile
주니어 백엔드 개발자

0개의 댓글