Data Science

파이썬 백준 4673 본문

알고리즘

파이썬 백준 4673

shinho0902 2021. 10. 6. 13:48

 

set을 활용하면 중복을 쉽게 피할 수 있다.

 

# 함수 d(n)
def d(n):
  a = sum(map(int,str(n)))
  return a + n

# 전체수
all_num = set(range(1,10001))

# 중복 피하기 위해 set 사용
make_num = set()

# 생성자인것들 add
for i in range(1,10001):
  i = d(i)
  make_num.add(i)

# 셀프넘버 = 전체넘버 - 생성자넘버
self_num = sorted(all_num - make_num)

# 출력
for i in self_num:
  print(i)

 

Comments