풀이
1부터 10,000 까지의 정수 중 셀프 넘버를 찾는 문제다.
1부터 10,000 까지의 정수를 set 자료형에 담은 뒤 셀프 넘버가 아닌 숫자들을 remove 에 담아 차집합을 구하면된다.
오름차순으로 출력해야하기 때문에 정렬 후 for문으로 출력하면된다.
소스코드
nums = set(range(1, 10000))
remove = set()
for num in nums :
for n in str(num):
num += int(n)
remove.add(num)
self_nums = nums - remove
for self_num in sorted(self_nums):
print(self_num)