Baekjoon Case

[백준 #2231] 분해합-파이썬

Scarlett_C 2021. 8. 9. 11:57
728x90

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

 

블랙잭을 쉽게 풀어놓고 의기양양했던 스칼렛,,

통수를 맞을 수 밖에,,

def possum(n):
    pos=[]
    while n>0:
        pos.append(n%10)
        n=n//10
        if n%10==n: 
            pos.append(n)
            break
    return(sum(pos))
    
N=int(input())
ver=0
listN=[]
for i in range(N):
    temp=i+possum(i)
    if temp==N: 
        listN.append(i)
        ver+=1
if ver==0: print(0)
else: print(min(listN))

일단 N값까지의 모든 수에 대한 분해합을 연산 한 다음에 N값과 동일한 수만 listN에 추가

listN 중 가장 작은값으로 출력하는 과정으로 진행하였다.

 

possum함수 짜는것은 이후에도 굉장히 유용하게 잘 쓰임

728x90