백준/단계별로 풀어보기
백준 더하기 사이클 - 1110번 파이썬
C6H12O6
2020. 3. 6. 17:55
이 포스팅에서는 백준 알고리즘 사이트 1110번을 파이썬으로 코딩해보도록 하겠습니다.
이번 문제는 0~~99인 정수 N을 입력받고 사이클을 돌려 만들어진 새로운 수가 N과 같아지면 사이클 길이를 출력하면 되는 문제입니다.
사이클은
1. N < 10 이면 N앞에 0을 붙여 두자리수로 만듦. N >= 10 이면 그냥 진행.
2. N이 AB(A가 십의자리수, B가 일의자리수)일때 B=A+B, A=B 으로 변환.
예시) N = 26.
2(A) + 6(B) = 8 -> B = 2 + 6, A = 6
새로운수 = 68
num = str(input())
cycle = 0
if int(num) < 10:
num = "0" + num
new = num
while True:
a = int(new[0]) + int(new[1])
a = str(a)
if int(a)<10:
new = new[1] + str(a)
else:
new = new[1] + a[1]
if new == num:
print(cycle+1, end="")
break
else:
cycle += 1
|
cs |
제 실력이 부족해 코드가 상당히 지저분합니다ㅠㅠ