https://www.acmicpc.net/problem/4673
- 하라는 대로 하면 된다. 너무 어렵게 생각하지 말자.
numbers=list(range(1,10001))
remove_list=[]
for num in range(1, 10001):
for n in str(num):
num+=int(n)
if (num<=10000):
remove_list.append(num)
for remove_num in set(remove_list):
numbers.remove(remove_num)
for num in numbers:
print(num)
- 결론부터 말하자면 셀프넘버가 아닌 숫자들을 구해서 전체 집합에서 빼준다.
- ✔️ n이 10000이 넘는지를 확인한다
- ✔️ remove_list에 중복값이 있을 수 있다는 것을 명심하자. 더했을 때 당연히 같은 수가 나올 수 있다.