def self_number(n):
for i in str(n):
n += int(i)
return n
natural_num = set(range(1,10_001))
generated_num = set()
for _ in range(1,10_001):
generated_num.add(self_number(_))
self_num = sorted(natural_num - generated_num)
for arg in self_num:
print(arg)
💡 셀프넘버를 찾는 과정에서 33이라는 수를 string으로 볼 생각을 하지 않고 자릿수로 나눈 몫과 나머지로 계산하여 구하려했다
💡 모든 결과를 함수 안에서 계산하고 결과값만을 리턴하려는 생각에 갇혔다
💡 type을 변형하는 방법도 있다는 것을 깨달았다
💡 숫자가 커질 경우 언더바(_)를 사용하여 알아보기 쉽게 할 수 있다
💡 특정 패턴이 반복될 때 한 사이클을 정확히 찾는 것이 중요하다