백준 - 4673 (Python) - 셀프 넘버

박준영·2021년 6월 14일
0
post-thumbnail
post-custom-banner

백준 4673

셀프 넘버

전혀.. 이해가 안갔다.

일단 어떻게든 코드를 찾아서 이해해 보려 노력한 결과

    def d(n):
        n = n + sum(map(int, str(n)))
        return n


    a = [0] * 10001

    for i in range(1, 10001):
        a[i] = d(i)

    for i in range(1, 10001):
        if i not in a:
            print(i)

우선 d(n)함수를 짜는건 어렵지 않았지만
for문을 두개 돌리는데 첫 번째 for문은 1~10,000까지의 숫자로 이루어진 리스트이다. 이 리스트에서 숫자를 하나씩 꺼내서 d(n)함수//생성자 수열 만들기//를 돌린 값을 빈 리스트에 a에 치환해주고 a리스트에 없는 값은 셀프 넘버(생성자가 없는 숫자)가 아니므로 출력한다.. 고 일단 이해했다. 추가 공부 필요..

post-custom-banner

0개의 댓글