https://www.acmicpc.net/problem/2231
풀이
n = int(input())
cnt=0
while True:
cnt+=1
if sum(list(map(int,str(cnt))))+cnt == n:
print(cnt)
break
if cnt==n:
print(0)
break
cnt를 1부터 n까지 돌리면서 모든 경우의 수를 구해야한다.
cnt의 모든 자리수의 합 + cnt 를 구해야하기때문에 cnt를 먼저 문자열로 바꿔준 후 이것을 한 글자씩 숫자로 바꾸면서 리스트로 넣어주었다.
그리고 그 리스트의 합이 n과 같은지 비교하였다.
같으면 cnt를 출력해준다.
'코딩테스트 > Python' 카테고리의 다른 글
[Python] 백준 #1018- 체스판 다시 칠하기 (0) | 2021.11.22 |
---|---|
[Python] 백준 #7568 - 덩치 (0) | 2021.11.22 |
[Python] 백준 #2798 - 블랙잭 (0) | 2021.11.22 |
[Python] 백준 #2447 - 별 찍기 - 10 (0) | 2021.11.22 |
[Python] 백준 #10870 피보나치 수 5 (0) | 2021.11.21 |