Programming Language/알고리즘 공부

[백준] 2231 분해합 파이썬

깜태 2021. 3. 29. 16:06
728x90

링크 : www.acmicpc.net/problem/2231

 

푸는 방법

 

1. 숫자를 입력받고, 반복문을 돌며 한자리씩 나눕니다.

 

2. 각 자리수의 합과 수의 합이 입력받은 숫자와 같다면 생성자 리스트에 추가합니다.

 

3. 마지막으로 최소값을 반환합니다.

 

코드

N = int(input())

hap = list()
for i in range(N):
    D = str(i)
    sum = 0
    for x in D:
        sum += int(x)
    if sum + i == N:
        hap.append(i)

if hap != []:
    print(min(hap))
else:
    print(0)
728x90