1110번
이 문제는 풀고 나니까 쉬워보이지만 풀면서 많이 헤매서ㅠㅠ
오답노트 느낌으로 써보려고합니다!
요약하자면
예를 들어, '68'의 숫자를 받았다면 주어진 수의 오른쪽 수(8)에 주어진 수 왼쪽(6)과 오른쪽(8)을 더한 값(6+8=14)의 오른쪽 수(4)를 붙여준다. 그럼 새로운 수는 '84'이다
①주어진 수의 오른쪽 값을 구하기
②주어진 수 왼쪽과 오른쪽을 더한 값의 오른쪽 수 구하기
① - 주어진 수를 10으로 나눈 나머지 !
(주어진 수 % 10) * 10
#십의 자리에 와야하므로 10을 곱해준다.
② - 10으로 나눈 몫과 10으로 나눈 나머지를 더한 값의 10으로 나눈 나머지 !
((주어진 수 // 10) + (주어진 수 % 10)) % 10
이렇게 정리만 해두고 풀면 헷갈리지 않고 쉽게 풀 수 있다.
N=int(input())
num=N
c=0
while True:
a=(num%10)*10
b=((num//10)+(num%10))%10
num=a+b
c+=1
if num==N:
print(c)
break
-while문 안에서 처음에 입력받은 값과 새로운 수와 비교해야하므로 N을 num으로 받아 준 후 진행한다.
-싸이클 횟수를 출력해야하므로 while문 밖에 c를 0으로 해준 후 한번 새로운 수를 만들 때마다 c+=1을 해준다.
-만약 새로운 수가 처음에 입력 받은 수와 같아지면 싸이클 횟수를 출력하고 while문을 종료한다.
그럼 끝이당