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

+ Recent posts