https://www.acmicpc.net/problem/1110
1110번: 더하기 사이클
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,
www.acmicpc.net
풀이
주어진 조건을 함수에 적용시켜 출력하는 문제.
처음 주어진 수가 한자리수인 경우를 감안하여 초기 풀이에 활용해 보았으나
시간초과로 오답처리 되어, 주어진 수가 한자리수여도 상관 없는 밑의 식으로 최종답안 작성.
내 제출
N = int(input()) # 주어지는 수 ex)26
num = N
cnt = 0
while True:
a = num//10 # 2 10의자리 숫자
b = num % 10 # 6 1의자리 숫자 - 주어진 수가 한자리수여도 어차피 a+b에 영향이 없다
c = (a + b) % 10 # a+b한값의 1의자리 값 2+6 = 8
num = (b * 10) + c # 68
cnt += 1
if num == N:
break
print(cnt)