반응형
반응형
문제:
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)
다음과 같이 함수를 사용하지 않고도 풀 수 있다.
반응형
'Python 코딩테스트' 카테고리의 다른 글
구현: 백준 1157 파이썬(Python) (0) | 2021.08.03 |
---|---|
구현: 백준 2750 파이썬(Python) (0) | 2021.08.03 |
구현: 백준 10820 파이썬(Python) (0) | 2021.07.29 |
그리디: 백준 2828 파이썬 (0) | 2021.07.13 |
그리디: 백준 15881 파이썬 (0) | 2021.07.11 |