1.
나의 풀이 : <시간 초과>
방식 : 문자열로 풀었음
문제 이유 : 숫자 1을 집어넣었을 때 while 문을 돌리는데 시간이 너무 오래걸린다.
# n은 0 <= n < 100
n = input()
count = 0
first_n = n # 초기값을 first_n 에 저장
while True:
if len(n) == 1: # 숫자가 10보다 작은 값일 때
n = '0' + n
new_n = str(int(n [0]) + int(n[1]))
n = n[-1] + new_n[-1]
count += 1
if n == first_n:
break
print(count)
Python
복사
2.
정답 풀이
방식 : 정수로 풀이
# 0 <= n <= 99 : 두자리 숫자이므로 자릿수값을 구하려면 10으로 나눈 몫과 나머지를 생각하면 된다.
n = int(input())
num = n # 초기값 저장
cnt = 0
while True:
ten = n // 10 # 10의 자리수
one = n % 10 # 1의 자리수
new_one = (ten + one) % 10 # 더해서 나오 값의 다시 1의 자리수
n = (one * 10) + new_one
cnt += 1
if num == n:
break
print(cnt)
Python
복사