Problem
https://www.acmicpc.net/problem/1110
Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
a = int(input())
n = 0
b = a
k=100
while k != a:
if 0<b<10:
while b<10:
b*=11
k=b
n+=1
elif b==0:
n+=1
break
else:
c=b//10+b%10
k=b%10*10+c%10
b=k
n+=1
print(n)
Memo
위 문제는 주어진 조건을 읽고 해석하는 데에 많은 시간을 할애했다. 주어진 수가 10보다 작은 경우 진행되는 과정을 이해하고 나서야 제대로 코드를 작성할 수 있었다. 0이 주어질 경우는 다른 케이스와 따로 분리시켰다.
맨 위에 b와 k를 구분시킨 이유는 시작하자마자 while문에 걸려서 프로그램이 종료되는 일을 방지하기 위해서인데, 변수를 추가하지 않고도 while문에 n과 관련된 조건을 추가시킨다면 해결될 것 같다.