본문 바로가기

Python 코딩테스트

구현: 백준 1110 파이썬(Python)

반응형
반응형

문제:

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

 

1110번: 더하기 사이클

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

www.acmicpc.net

 

풀이:

n = int(input())

def cycle_sum(n):
    num = []

    num.append(n//10)
    num.append(n % 10)

    sum = num[0] + num[1]

    cycle = (num[1]*10) + (sum % 10)

    return cycle

temp = cycle_sum(n)
count = 1

while(1):

    if(temp == n):
        break
    else:
        temp = cycle_sum(temp)
        count += 1

print(count)
num = int(input())
check = num
new_num = 0
temp = 0
count = 0
while True:
    temp = num//10 + num%10
    new_num = (num%10)*10 + temp%10
    count += 1
    num = new_num
    if new_num == check:
        break
print(count)

다음과 같이 함수를 사용하지 않고도 풀 수 있다.

반응형