[BOJ] 4673 셀프 넘버
이 문제는 셀프넘버 함수를 만들고 활용하는 문제인데, 문제 취지에 맞게 활용했는지 의문이다.
1부터 10000까지의 숫자를 함수 인자로 받고, 반환값으로 공식에 따라 셀프 넘버를 반환한다.
1부터 10000까지 셀프 넘버 함수에 대입하고 반환되는 결과값을 배열 array
에 각각 append
했다. array
에 담긴 값들은 생성자로부터 생성된 수이다.
즉 생성자가 없는 수를 제외한 모든 수가 array
에 담겼기 떄문에 array
에 없는 값은 생성자가 없는 수가 된다.
나의 풀이
def d(num):
ans = num
for i in range(len(str(num))):
ans += int(str(num)[i])
return ans
array = []
for i in range(1, 10001):
array.append(d(i))
for i in range(1, 10001):
if(i not in array):
print(i)