언어: python
번호: 2331
제목: 분해합
등급: 실버 4
풀이 과정:
분해합 N으로 자연수 M을 거꾸로 구할 수는 없다. 자연수 1부터 M까지의 분해합을 모두 구하면서 가장 작은 자연수를 찾아야 한다. 이때 1부터 M까지의 분해합을 차례대로 구하니까 처음 구한 자연수 M을 출력하면 된다.
코드:
# 2231
n = int(input())
result = 0
for i in range(n+1):
m = i + sum(list(map(int, str(i))))
if n == m:
print(i)
break
if n == i:
print(0)
메모:
리스트의 자료형을 한 번에 바꿀 때도 map 함수를 사용한다.
'BOJ' 카테고리의 다른 글
[백준/BOJ] python 15552번 빠른 A+B (0) | 2023.01.25 |
---|---|
[백준/BOJ] python 2309번 일곱 난쟁이 (0) | 2023.01.25 |
[백준/BOJ] python 1343번 폴리오미노 (0) | 2023.01.25 |
[백준/BOJ] python 9506번 약수들의 합 (0) | 2023.01.25 |
[백준/BOJ] python 8958번 OX퀴즈 (0) | 2023.01.25 |