본문 바로가기

카테고리 없음

파이썬) 더하기 사이클 - BOJ

 

n = int(input())

init = n
n = str(n)
if len(n) == 1:
    n = '0' + n

i = 1

p = n

n = int(n[0]) + int(n[1])
n = str(n)

if len(n) == 1:
    n = p[-1] + n
else:
    n = p[-1] + n[-1]

while True:
    if int(init) == int(n):
        break


# while True:
    i += 1
#     if init == int(n):
#         break

    prev = n

    n = int(n[0]) + int(n[1])

    n = str(n)

    if len(n) == 1:
        n = prev[-1] + n

    else:
        n = prev[-1] + n[-1]
    # print(n)


print(i)

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net