본문 바로가기

코딩

[Python] 백준 2231 분해합

반응형

코드 작성

n = int(input())
ans = 0
for i in range(1, n+1):
    k = i +sum(map(int, str(i)))
    if k == n:
        ans = i
        break
print(ans)

코드  풀이

#설명

n은 자연수이므로 range의 범위 (1, n+1)로 설정한다. 2이상의 자리수의 각 문자열(str)map, int로 받아서 더한다. 그 값 k가 초기값 n일 때 ans에 정답을 넣는다. 가장 작은 숫자를 구하는 문제이므로 i1부터 시작하되, 생성자를 구했을 경우 for문을 종료해야 하므로 break

 
반응형