Search
Duplicate
🧙🏻‍♀️

4673

문제 유형
함수
메모
생성자 개념 이해하기
알고리즘
먼저 생성자의 개념을 잘 이해해야 한다. 이를 위해 문제에서 준 예시를 사용해보자.
주어진 수 n
다음 수
sum
생성자
33
33 + 3 + 3
39
39
39 + 3 + 9
51
39
91
91 + 9 + 1
101
91
100
100 + 10 → 100 + 1
101
100
101 의 생성자는 91 과 100 두개이다.
100 에서 알 수 있듯이 단순히 주어진 수 + 십으로 나눴을 때의 몫 + 십으로 나눴을 때의 나머지로 계산하는게 아니다. 몫이 십으로 나눠 질 수 있다면 또 나눠야 한다.이를 정리하면 다음과 같다.
remainder = n % 10
sum += remainder
n /= 10
이를 언제까지 해야할까? n 이 10 으로 나누어 떨어질 때까지 반복해야한다. 또한 반복해서 계속 더해지는 sum 은 10000 을 초과하면 안된다. 이렇게 해서 얻게 된 수들은 셀프넘버가 아니다. 때문에 반복문으로 셀프넘버를 찾아줘야 한다.
나머지는 깃허브링크를 타고들어가서 풀이코드를 보면 이해할 수 있을 것이다.
깃허브 링크는 위에 있습니다