백준 문제풀이/브루트포스(Bruteforce)

백준 온라인 저지 - 분해합(#2231) 파이썬

Itscool 2021. 8. 13. 15:23

문제설명

이 문제는 각 자릿수의 합을 문자열로 보고 문자열의 각 요소를 더해줌으로써 쉽게 해결할 수 있습니다. 0부터 n까지 숫자를 오름차순으로 검사하다가 조건에 맞는 수가 나오면 종료하는 방법으로 풀 수 있습니다. 자세한 풀이는 코드를 참고하시면 됩니다. 

 

분해합(#2231) 파이썬 코드

n = int(input())
result = 0
for i in range(n):
    dcp = i + sum(int(j) for j in str(i))  # dcp = decomposition(분해합)
    if dcp == n:  # 분해합이 n일 경우 결과값에 i값 할당, 반복문 종료
        result = i
        break
print(result)