티스토리 뷰

<문제 링크>

 

2231번: 분해합

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

www.acmicpc.net

 

<문제 풀이>

N = int(input())
res = 0

for i in range(1, N+1):        
    de_sum = i + sum(list(map(int, str(i))))              
    if(de_sum == N):                 
        res = i                   
        break

print(res)

2231 입출력 예시

*key point: sum, list, map, str 함수를 활용하여 주어진 숫자의 각자리수를 더할 수 있다. 조건문과 반복문을 이용하여 분해합과 자연수를 비교하여 생성자를 찾는다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함