📊알고리즘, 문제풀이/📈문제풀이 (PS)

[알고리즘][Python] 백준 1110 더하기 사이클 문제 풀이

Written by Donghak Park

문제 출처 : www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net


문제 해석 : 더하기 사이클을 처리하는 알고리즘을 따라 했을 때 원래 수가 다시 나오는데 얼마나 걸리는지 구하는 문제이다.

 

문제 풀이 : 주어진 조건을 차근차근 구현하면 풀이 할 수 있다. 여기서 주의해서 구현해야 할 부분은 입력값이 10보다 작은 경우에는 자기 자신을 아닌 경우에는 각 자릿수의 합을 가지고 연산을 이어 간다는 점이다.

 

풀이 시간 (기록용) : 12분

 


풀이 코드

N = int(input())

time = 0
temp = str(N)
while True:
    if time != 0 and int(temp) == N:
        break

    temp2 = ''

    if int(temp) < 10:
        temp2 = "0" + temp
    else:
        temp2 = str(int(temp[0]) + int(temp[1]))

    temp = temp[-1] + temp2[-1]
    time += 1
print(time)

author : donghak park
contact : donghark03@naver.com

## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.