본문 바로가기
백준 알고리즘(BOJ)

백준 알고리즘 2231 (분해합) - python (재풀이)

by Think_why 2022. 5. 16.

백준 알고리즘 2231 (분해합) - python

> https://www.acmicpc.net/problem/2231

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

[문제 풀이]

1. 자신과 각 자릿수를 더해야하기 때문에, 간단하게 하려면 String으로 접근하는게 낫다.

2. 없으면 0을 출력하기 위해 있을 경우 미리 return 활용

 

import sys
N = int(sys.stdin.readline())

def solve():
    for i in range(N):
        result = i
        for j in str(i):
            result += int(j)
        if result == N:
            print(i)
            return
    print(0)
    return

solve()
728x90

댓글