📍In a nutshell...
#1110번
처음에 입력값을 받고, 숫자를 쪼개 계속 더하여 업데이트값을 만들고, 처음 본래의 입력값으로 돌아올 때까지 계산한다. 업데이트값의 개수를 출력하면 된다.
입력값 N
은 0<=N<=99이다.
입력값) 26-> 1) 2+6 = 8, 68 -> 2) 6+8 = 14, 84 -> 3) 8+4 =12, 42 -> 4) 4+2 = 6, 26
출력값) 4
업데이트값을 구하려면 아래와 같은 규칙이어야 한다.
n
을 쪼갠다. n//10
과 n%10
이 각각 쪼갠 숫자가 된다. n//10
과 n%10
을 다시 더한다.n%10
*10) + 2번 값, count +=1
해준다. count
를 출력한다. n = int(input())
new_n = n #업데이트값을 담을 변수 new_n 생성
count = 0
while True:
a = new_n//10
b = new_n%10
c = (a+b)%10
new_n = (b*10)+c
count += 1
if new_n == n: #업데이트값이 입력값과 같으면 while문 종료
break
print(count)
여기서 중요한 점은, 입력값을 새로운 변수에 넣어서 총 2개 변수를 만들어야 한다는 것이다. 그렇지 않으면, 처음 입력값을 담은 n
이 계속 업데이트가 되고, 마지막에 숫자 비교를 할 수 없게 된다.
그래서 입력값을 n
과 new_n
에 각각 담아 new_n == n
이 성립되도록 해줘야 한다.
출처: 백준