코딩테스트/기초

백준 2231 분해합 - python

math_tbro 2022. 1. 15. 01:22

출처:

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

 

2231번: 분해합

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

www.acmicpc.net

풀이

n = int(input())

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

 

가장 중요한 부분은 

rlt = sum((map(int, str(i))) 이 부분이다. str(i)를 int로 바꿔서 map으로 저장 한다음 모두 합해준다는 뜻이다.

 

이렇게 하면 다음 부터는 너무 수월하다.

'코딩테스트 > 기초' 카테고리의 다른 글

백준 2798 블랙잭 - python  (0) 2022.01.15
백준 10872 팩토리얼 - python  (0) 2022.01.12
백준 터렛 1002 - python  (0) 2022.01.11
백준 3053 택시기하학 - python  (0) 2022.01.11
백준 4153 직각삼각형 - python  (0) 2022.01.11