[백준] 2231: 분해합 (Python)

JiKwang Jeong·2021년 10월 1일
0

문제📖

풀이🙏

  • 1부터 시작하여 입력받은 n까지 모든 수를 확인한다.
  • 각 자리수와 자신을 더하고 1부터 시작하므로 가장 작은 생성자를 찾으면 출력하고 반복문을 벗어난다.
  • 찾지 못한 경우 0을 출력한다.

코드💻

n =int(input())
result = 0

# n보다 작거나 같은 수 모두 확인
for i in range(1, n+1):
    #각 자리수를 담은 리스트
    data = list(map(int, str(i)))    
    # i와 각 자리수의 합
    result = i + sum(data)

    # 1부터 시작하므로 생성자 찾으면 출력하고 반복문을 벗어남
    if n == result:
        print(i)
        break

    # 못찾은 경우 0 출력
    if i == n:
        print(0)
profile
기억보다 기록, 난리보다 정리

0개의 댓글