백준 4673. 셀프넘버

하얀족제비·2021년 8월 7일
0

접근 방법

  1. 10000까지의 0으로 이루어진 memo 리스트를 만들어서
  2. 1~ 차근차근 d(n) 함수를 돌려서 생성자가 있는 값이면 체크해주었다.
  3. 예를 들어 1을 d(n)함수에 넣었을 때 2가 나오면 2는 생성자가 있는 값이므로 1로 체크!
  4. 마지막으로 memo 리스르를 돌리면서 0인 값들만 뽑아줬다.

코드

def d(num):
    res = num
    for n in str(num):
        res += int(n)
    if res < 10000:
        memo[res] = 1

memo = [0] * 10001
for i in range(10000):
    d(i)

for m in range(len(memo)-1):
    if memo[m] == 0:
        print(m)
profile
안녕하세요~ 개발을 꿈꾸는 하얀족제비입니다!

0개의 댓글