<Python 백준>셀프 넘버

박서연·2023년 2월 10일
0

CodingTest

목록 보기
10/17

백준#4673

1. 코드

def self_number(n):
    for i in str(n):
        n += int(i)
    return n

natural_num = set(range(1,10_001))
generated_num = set()
for _ in range(1,10_001):
    generated_num.add(self_number(_))
self_num = sorted(natural_num - generated_num)
for arg in self_num:
    print(arg)

2. 반성점

💡 셀프넘버를 찾는 과정에서 33이라는 수를 string으로 볼 생각을 하지 않고 자릿수로 나눈 몫과 나머지로 계산하여 구하려했다
💡 모든 결과를 함수 안에서 계산하고 결과값만을 리턴하려는 생각에 갇혔다

3. 배운점

💡 type을 변형하는 방법도 있다는 것을 깨달았다
💡 숫자가 커질 경우 언더바(_)를 사용하여 알아보기 쉽게 할 수 있다
💡 특정 패턴이 반복될 때 한 사이클을 정확히 찾는 것이 중요하다

0개의 댓글