문제설명
이 문제는 각 자릿수의 합을 문자열로 보고 문자열의 각 요소를 더해줌으로써 쉽게 해결할 수 있습니다. 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)
'백준 문제풀이 > 브루트포스(Bruteforce)' 카테고리의 다른 글
백준 온라인 저지 - 체스판 다시 칠하기(#1018) 파이썬 (0) | 2022.01.11 |
---|---|
백준 온라인 저지 - 덩치(#7568) 파이썬 (0) | 2021.08.16 |
백준 온라인 저지 - 블랙잭(#2798) 파이썬 (0) | 2021.08.12 |