num = int(input())
result = num
newN=-1
n=0
while True:
if newN == result:
break
else:
a=num//10 # 10의자리 숫자
b=num%10 # 1의자리 숫자
c=a+b # 각 자리의 숫자를 더함
n+=1
if c//10 == 0: # 그 숫자가 한 자리인 경우의
newN = b*10+c # 새로운 수
num = newN
else: # 그 숫자가 두 자리인 경우의
newN = b*10+(c%10) # 새로운 수
num = newN
print(n)
문제를 풀다가 과정이 헷갈리면 주석을 써가며 차근차근히.
문제: https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
'Baekjoon > python' 카테고리의 다른 글
[백준 10871번] X보다 작은 수 (0) | 2023.01.01 |
---|---|
[백준 10807번] 개수 세기 (0) | 2023.01.01 |
[백준 10951번] A+B - 4 (0) | 2023.01.01 |
[백준 10952번] A+B - 5 (0) | 2023.01.01 |
[백준 25304번] 영수증 (0) | 2023.01.01 |