반응형
문제
https://www.acmicpc.net/problem/2231
코드
import sys
input = sys.stdin.readline
n = int(input())
ans = 0
for i in range(1, n+1):
num = i + sum(list(map(int,str(i))))
if num == n:
ans = i
break
print(ans)
설명
수를 입력받고 그 수까지 반복하며 생성자를 찾아낸다.
i = 123인 경우,
123 + 1 + 2 + 3
i에다 i의 각 자리수를 더해서 특정 수를 생성하고 이 수와 n이 일치한다면 반복문을 탈출하고 답을 출력한다.
(가장 작은 수를 찾는 경우이므로)
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1018: 체스판 다시 칠하기 (0) | 2023.01.20 |
---|---|
[파이썬, Python] 백준 7568: 덩치 (3) | 2023.01.19 |
[파이썬, Python] 백준 2798: 블랙잭 (0) | 2023.01.17 |
[파이썬, Python] 백준 25501: 재귀의 귀재 (0) | 2023.01.16 |
[파이썬, Python] 백준 10870: 피보나치 수 5 (0) | 2023.01.13 |