알고리즘/문제풀이

[Python] 백준 2231 "분해합_완전탐색" 문제풀이

이손안나 2021. 9. 16. 14:02

import sys

#분해합 구하는 함수
def deSum(n):
    num=str(n)
    s=n
    for i in range(len(num)):
        s=s+int(num[i])
    return s

# 생성자 구하는 함수
def deCon(m):
    for i in range(m):
        if m ==deSum(i):
            return i


N=int(sys.stdin.readline())
print(deCon(N))

문제풀이

먼저 분해합을 구하는 함수를 구현했다.

자릿수를 알기위해 str로 변환해주고 각각 자리값들을 다 더해준다.

그다음은 생성자 함수를 만들어줬다. 0부터 비교하여 분해합 결과와 같을 때 값을 반환해 주었다.

 

피드백

처음에 분해합이라는 개념이 잘 이해가 안가서 문제풀기가 어려웠다.